關(guān)于讓很多程序猿困惑的js回調(diào)函數(shù)callback

2013-05-19    分類: 網(wǎng)站建設(shè)

很多做網(wǎng)站的童鞋對(duì)于js中的callback函數(shù)感到非常困惑,主要原因是對(duì)于這塊要學(xué)習(xí)的資料很少,平時(shí)工作學(xué)習(xí)中又很常見,用到的時(shí)候都是復(fù)制一下他人的代碼,功能實(shí)現(xiàn)了也就再不深入理解了。

js回調(diào)函數(shù)

這樣長期以來,callback的概念就越來越混亂,因?yàn)槟憧偢杏X它是你Ajax請(qǐng)求后調(diào)用的那個(gè)函數(shù),又感覺它是你某一個(gè)函數(shù)中的形參而已,而當(dāng)你有一天看到一點(diǎn)關(guān)于Node.js的代碼后你會(huì)更加崩潰,因?yàn)槟銜?huì)發(fā)現(xiàn)很多的callback,但是這么著下去肯定是不行的,因?yàn)楹芏嗟臇|西如果只是知道概念和理論,沒有實(shí)踐出結(jié)果,沒有思考和感受,這些東西永遠(yuǎn)不是你的,所以任何關(guān)于技術(shù)上用到的東西都應(yīng)該去花時(shí)間鉆研一下。

一個(gè)回調(diào)函數(shù),也被稱為高階函數(shù),是一個(gè)被作為參數(shù)傳遞給另一個(gè)函數(shù)(在這里我們把另一個(gè)函數(shù)叫做“otherFunction”)的函數(shù),回調(diào)函數(shù)在otherFunction中被調(diào)用。一個(gè)回調(diào)函數(shù)本質(zhì)上是一種編程模式(為一個(gè)常見問題創(chuàng)建的解決方案),因此,使用回調(diào)函數(shù)也叫做回調(diào)模式。

比如說我們做一個(gè)商城網(wǎng)站,客戶要購買一個(gè)東西,當(dāng)客戶點(diǎn)進(jìn)物品的詳情頁之后,有些圖片資源還未請(qǐng)求完畢,圖片沒有加載完成,而此時(shí)客戶就可以點(diǎn)擊add to cart, 發(fā)起另一個(gè)請(qǐng)求,js任務(wù)列表中的添加購物車事件就會(huì)開始執(zhí)行,它的執(zhí)行也不會(huì)干擾到圖片資源的請(qǐng)求任務(wù),這就是使用了callback函數(shù)的異步機(jī)制。

分享名稱:關(guān)于讓很多程序猿困惑的js回調(diào)函數(shù)callback
文章出自:http://www.bm7419.com/news/827.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化App開發(fā)、網(wǎng)站設(shè)計(jì)公司微信公眾號(hào)、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)