- 15天學會jQuery編程與實戰(視頻教學版) (Web前端技術叢書)
- 劉鑫
- 331字
- 2020-11-28 16:21:44
2.5 JavaScript的Callback
jQuery中使用了大量Callback,中文譯為“回調函數”。回調函數是通過函數指針調用的函數,機制是把調用者與被調用者分開,調用者不用關心誰是被調用者。這個概念讀起來很抽象。我們來看一段jQuery代碼:
$("button").click(function(){ $("p").hide(1000); });
這段代碼的意思是單擊按鈕時實現p標簽的隱藏。JavaScript的語句按照次序逐一執行,動畫之后的語句可能會產生錯誤或頁面沖突,因為動畫還沒有完成。此時,Callback就可以發揮它的作用,例如:
$(selector).hide(speed, callback);
這里的callback參數是一個函數,是在hide操作完成后被執行的函數。更改前面的代碼:
$("p").hide(1000, function(){ alert("The paragraph is now hidden"); });
這樣就能保證hide動畫在加載完后才執行alert語句。這就是callback的意義。
在jQuery事件處理機制中,我們會發現大量callback的痕跡,例如:
$("body").click(function(event) { console.log("單擊對象是: " + event.target); });
這個回調函數帶一個參數event,用來處理操作的對象。還有回調函數用于返回值,例如:
$("#myform").submit(function() { return false; });