Callback 回呼
- 概念:當客戶打給你時,你正在跟別人通電話,所以你會請客戶稍等,等你講完這通電話再回撥給他
-
當某事發生的時候,請利用這個 function 通知我
- 把 function b 以參數的方式傳入 function a,那麼 a 做完才會再做 b
-
常用點擊事件「當有人點擊這顆按鈕時,請用這個 function 通知我」
$("#id").click(function() { alert("這是 callback"); });
-
setTimeout「當過了三秒時,請用這個 function 通知我」
setTimeout(function() { alert("這是 callback"); }, 3000);
-
window.onload 「當網頁載入完成時,請用這個 function 通知我」
window.onload = function() { alert("這是 callback"); };
同步與非同步
- Synchronous 同步
- 代表執行時程式會卡在那一行,直到有結果為止
- Asynchronous 非同步
- 代表執行時不會卡住,但執行結果不會放在回傳值,而是需要透過 callback function (回呼函式) 來接收結果
- 例如 ajax、setTimeout