溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS回調函數(shù)深入理解

發(fā)布時間:2020-09-16 00:43:07 來源:腳本之家 閱讀:152 作者:dkvirus 欄目:web開發(fā)

本文實例講述了JS回調函數(shù)。分享給大家供大家參考,具體如下:

一、前奏

在談回調函數(shù)之前,先看下下面兩段代碼:

不妨猜測一下代碼的結果。

function say (value) {
  alert(value);
}
alert(say);
alert(say('hi js.'));

如果你測試了,就會發(fā)現(xiàn):

只寫變量名  say   返回的將會是 say方法本身,以字符串的形式表現(xiàn)出來。

而在變量名后加()如say()返回的就會使say方法調用后的結果,這里是彈出value的值。

二、js中函數(shù)可以作為參數(shù)傳遞

再看下面的兩段代碼:

function say (value) {
  alert(value);
}
function execute (someFunction, value) {
  someFunction(value);
}
execute(say, 'hi js.');

function execute (someFunction, value) {
  someFunction(value);
}
execute(function(value){alert(value);}, 'hi js.');

上面第一段代碼是將say方法作為參數(shù)傳遞給execute方法

第二段代碼則是直接將匿名函數(shù)作為參數(shù)傳遞給execute方法

實際上:

function say (value) {
  alert(value);
}
// 注意看下面,直接寫say方法的方法名與下面的匿名函數(shù)可以認為是一個東西
// 這樣再看上面兩段代碼是不是對函數(shù)可以作為參數(shù)傳遞就更加清晰了
say;
function (value) {
  alert(value);
}

這里的say或者匿名函數(shù)就被稱為回調函數(shù)。

三、回調函數(shù)易混淆點——傳參

如果回調函數(shù)需要傳參,如何做到,這里介紹兩種解決方案。

將回調函數(shù)的參數(shù)作為與回調函數(shù)同等級的參數(shù)進行傳遞

JS回調函數(shù)深入理解

回調函數(shù)的參數(shù)在調用回調函數(shù)內部創(chuàng)建

JS回調函數(shù)深入理解

四、寫在最后

回調函數(shù)應用場景多用在使用 js 寫組件時,尤其是組件的事件很多都需要回調函數(shù)的支持。
關于回調函數(shù)還有什么問題可以在下面留言,一起交流。

更多關于JavaScript相關內容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》及《JavaScript數(shù)學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI