js回調函數的理解



一、什麼是Javascript 回調函數?

 

1、函數和其他數據一樣可以被賦值,刪除,拷貝等,也可以把函數作爲參數傳入到另一個函數中。回調函數,其實就是把函數作爲參數傳到函數中去運用。
 
2、回調函數具體的定義爲:函數A作爲參數(函數引用)傳遞到另一個函數B中,並且這個函數B執行函數A。我們就說函數A叫做回調函數。如果沒有名稱(函數表達式),就叫做匿名回調函數。
 

3、因爲函數在Javascript中是第一類對象,我們像對待對象一樣對待函數,因此我們能像傳遞變量一樣傳遞函數,在函數中返回函數,在其他函數中使用函數。當我們將一個回調函數作爲參數傳遞給另一個函數是,我們僅僅傳遞了函數定義。我們並沒有在參數中執行函數。我們並不傳遞像我們平時執行函數一樣帶有一對執行小括號()的函數。

4、需要注意的很重要的一點是回調函數並不會馬上被執行。

 
 
二、回調函數將在以下幾個方面幫助你:


1、 避免重複代碼
2、 在你擁有更多多功能函數的地方實現更好的抽象(依然能保持所有功能)
3、 讓代碼具有更好的可維護性
4、使代碼更容易閱讀
5、 編寫更多特定功能的函數

 
 
三、回調函數的使用場合
 

1、資源加載:動態加載js文件後執行回調,加載iframe後執行回調,ajax操作回調,圖片加載完成執行回調,AJAX等等。
 
2、鏈式調用:鏈式調用的時候,在賦值器(setter)方法中(或者本身沒有返回值的方法中)很容易實現鏈式調用,而取值器(getter)相對來說不好實現鏈式調用,因爲你需要取值器返回你需要的數據而不是this指針,如果要實現鏈式方法,可以用回調函數來實現。

3、setTimeout和setInterval方法

4、異步調用(例如讀取文件,進行HTTP請求,等等)



文章轉載自: js回調函數    http://www.studyofnet.com/news/705.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章