淺析javascript回調(diào)函數(shù)應(yīng)用

淺析javascript回調(diào)函數(shù)應(yīng)用

ID:30517213

大小:18.56 KB

頁數(shù):7頁

時間:2018-12-31

淺析javascript回調(diào)函數(shù)應(yīng)用_第1頁
淺析javascript回調(diào)函數(shù)應(yīng)用_第2頁
淺析javascript回調(diào)函數(shù)應(yīng)用_第3頁
淺析javascript回調(diào)函數(shù)應(yīng)用_第4頁
淺析javascript回調(diào)函數(shù)應(yīng)用_第5頁
資源描述:

《淺析javascript回調(diào)函數(shù)應(yīng)用》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進一步的了解淺析JavaScript回調(diào)函數(shù)應(yīng)用  這篇文章主要為大家詳細介紹了JavaScript回調(diào)函數(shù)應(yīng)用,感興趣的朋友可以參考一下  一、回調(diào)函數(shù)定義  回調(diào)函數(shù)就是一個通過函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個函數(shù),當這個指針被用為調(diào)用它所指向的函數(shù)時,我們就說這是回調(diào)函數(shù)。回調(diào)函數(shù)不是由該函數(shù)的實現(xiàn)方直接調(diào)用,而是在特定的事件或條件發(fā)生時由另外的一方調(diào)用的,用于對該事件或條件進行響應(yīng)?! ≡?/p>

2、JavaScript中,回調(diào)函數(shù)具體的定義為:函數(shù)A作為參數(shù)(函數(shù)引用)傳遞到另一個函數(shù)B中,并且這個函數(shù)B執(zhí)行函數(shù)A。我們就說函數(shù)A叫做回調(diào)函數(shù)。如果沒有名稱(函數(shù)表達式),就叫做匿名回調(diào)函數(shù)。因此callback不一定用于異步,一般同步(阻塞)的場景下也經(jīng)常用到回調(diào),比如要求執(zhí)行某些操作后執(zhí)行回調(diào)函數(shù)?! ±印 ∫粋€同步(阻塞)中使用回調(diào)的例子,目的是在func1代碼執(zhí)行完成后執(zhí)行func2。  varfunc1=function(callback){  ?//dosomething.  ?(callback&&typeof(callback)===

3、"function")對黨的認識也有了進一步的提高。才真正體會到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進一步的了解&&callback();  }  func1(func2);  ?varfunc2=function(){  }  二、回調(diào)函數(shù)的使用場合  資源加載:動態(tài)加載js文件后執(zhí)行回調(diào),加載iframe后執(zhí)行回調(diào),ajax操作回調(diào),圖片加載完成執(zhí)行回調(diào),AJAX等等?! OM

4、事件及Node.js事件基于回調(diào)機制(Node.js回調(diào)可能會出現(xiàn)多層回調(diào)嵌套的問題)?! etTimeout的延遲時間為0,這個hack經(jīng)常被用到,settimeout調(diào)用的函數(shù)其實就是一個callback的體現(xiàn)  鏈式調(diào)用:鏈式調(diào)用的時候,在賦值器(setter)方法中(或者本身沒有返回值的方法中)很容易實現(xiàn)鏈式調(diào)用,而取值器(getter)相對來說不好實現(xiàn)鏈式調(diào)用,因為你需要取值器返回你需要的數(shù)據(jù)而不是this指針,如果要實現(xiàn)鏈式方法,可以用回調(diào)函數(shù)來實現(xiàn)對黨的認識也有了進一步的提高。才真正體會到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨

5、是全中國最廣大人民利益的忠實代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進一步的了解  setTimeout、setInterval的函數(shù)調(diào)用得到其返回值。由于兩個函數(shù)都是異步的,即:他們的調(diào)用時序和程序的主流程是相對獨立的,所以沒有辦法在主體里面等待它們的返回值,它們被打開的時候程序也不會停下來等待,否則也就失去了setTimeout及setInterval的意義了,所以用return已經(jīng)沒有意義,只能使用callback。callback的意義在于將timer執(zhí)行的

6、結(jié)果通知給代理函數(shù)進行及時處理?! ∪?、函數(shù)也是對象  想弄明白回調(diào)函數(shù),首先的清楚地明白函數(shù)的規(guī)則。在javascript中,函數(shù)是比較奇怪的,但它確確實實是對象。確切地說,函數(shù)是用Function()構(gòu)造函數(shù)創(chuàng)建的Function對象。Function對象包含一個字符串,字符串包含函數(shù)的javascript代碼。假如你是從C語言或者java語言轉(zhuǎn)過來的,這也許看起來很奇怪,代碼怎么可能是字符串?但是對于javascript來說,這很平常。數(shù)據(jù)和代碼之間的區(qū)別是很模糊的。  //可以這樣創(chuàng)建函數(shù)  varfn=newFunction("arg1","ar

7、g2","returnarg1*arg2;");  fn(2,3);?//6  這樣做的一個好處,可以傳遞代碼給其他函數(shù),也可以傳遞正則變量或者對象(因為代碼字面上只是對象而已)。  傳遞函數(shù)作為回調(diào)  很容易把一個函數(shù)作為參數(shù)傳遞。  functionfn(arg1,arg2,callback){  ?varnum=Math.ceil(Math.random()*(arg1-arg2)對黨的認識也有了進一步的提高。才真正體會到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級

8、黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。