亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2019年10月16日 10:21:50   作者:dkvirus  
這篇文章主要介紹了JS回調(diào)函數(shù),結(jié)合實(shí)例形式深入分析了js回調(diào)函數(shù)的概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

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

一、前奏

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

不妨猜測一下代碼的結(jié)果。

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

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

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

而在變量名后加()如say()返回的就會(huì)使say方法調(diào)用后的結(jié)果,這里是彈出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方法

實(shí)際上:

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

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

三、回調(diào)函數(shù)易混淆點(diǎn)——傳參

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

將回調(diào)函數(shù)的參數(shù)作為與回調(diào)函數(shù)同等級(jí)的參數(shù)進(jìn)行傳遞

回調(diào)函數(shù)的參數(shù)在調(diào)用回調(diào)函數(shù)內(nèi)部創(chuàng)建

四、寫在最后

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

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript常用函數(shù)技巧匯總》、《javascript面向?qū)ο笕腴T教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • webpack打包js文件及部署的實(shí)現(xiàn)方法

    webpack打包js文件及部署的實(shí)現(xiàn)方法

    這篇文章主要介紹了webpack打包js文件的方法及webpack打包后的JS文件如何部署,需要的朋友可以參考下
    2017-12-12
  • JavaScript比較兩個(gè)對(duì)象是否相等的方法

    JavaScript比較兩個(gè)對(duì)象是否相等的方法

    這篇文章主要介紹了JavaScript比較兩個(gè)對(duì)象是否相等的方法,通過對(duì)js對(duì)象進(jìn)行各方面的比較來判斷兩個(gè)對(duì)象是否相等,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • HTML+JS模擬實(shí)現(xiàn)QQ下拉菜單效果

    HTML+JS模擬實(shí)現(xiàn)QQ下拉菜單效果

    這篇文章主要為大家詳細(xì)介紹了如何利用HTML+JavaScript模擬實(shí)現(xiàn)QQ中的下拉菜單效果。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-05-05
  • 淺談JavaScript中的“!!”作用

    淺談JavaScript中的“!!”作用

    這篇文章主要介紹了淺談JavaScript中的“!!”作用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 高效的表格行背景隔行變色及選定高亮的JS代碼

    高效的表格行背景隔行變色及選定高亮的JS代碼

    一個(gè)項(xiàng)目要用,又不想用jquery之類的東東。先去網(wǎng)上搜索了下,找到了不少在CSS中執(zhí)行JS的表格行變色方式,不過這類方式在表格行多的時(shí)候相當(dāng)卡,在IE7和firefox3中測試正常。
    2010-12-12
  • 使用javascript實(shí)現(xiàn)Iframe自適應(yīng)高度

    使用javascript實(shí)現(xiàn)Iframe自適應(yīng)高度

    這篇文章主要介紹了使用javascript實(shí)現(xiàn)Iframe自適應(yīng)高度,需要的朋友可以參考下
    2014-12-12
  • SWFObject基本用法實(shí)例分析

    SWFObject基本用法實(shí)例分析

    這篇文章主要介紹了SWFObject基本用法,實(shí)例分析了SWFObject操作Flash文件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • IE和Firefox在JavaScript應(yīng)用中的兼容性探討

    IE和Firefox在JavaScript應(yīng)用中的兼容性探討

    今天在使用CSS屬性的時(shí)候發(fā)現(xiàn)"cursor:hand;"在Firefox中鼠標(biāo)不會(huì)變?yōu)槭中停髞砩暇W(wǎng)搜索了一下資料,發(fā)現(xiàn)hand這個(gè)cursor屬性在Firrefox中不兼容,使用"cursor:pointer"就都可以顯示了。
    2008-04-04
  • 微信小程序多文件上傳 Tdesign及導(dǎo)入失敗問題

    微信小程序多文件上傳 Tdesign及導(dǎo)入失敗問題

    小程序文件上傳還是有點(diǎn)麻煩的,其實(shí)主要還是小程序?qū)Φ慕涌谟兄T多的不便,比如說,文件不能批量提交,只能一個(gè)個(gè)的提交,小程序的上傳需要專門的接口,這篇文章主要介紹了微信小程序多文件上傳 Tdesign及導(dǎo)入失敗問題,需要的朋友可以參考下
    2023-11-11
  • 如何實(shí)現(xiàn)textarea里的不同文本顯示不同顏色

    如何實(shí)現(xiàn)textarea里的不同文本顯示不同顏色

    如何實(shí)現(xiàn)textarea里的不同文本顯示不同顏色呢?控制textarea的style設(shè)置Textarea以及把文本放到標(biāo)記里都不會(huì)起作用,下面有個(gè)不錯(cuò)的解決方法,感興趣的朋友可以了解下
    2014-01-01

最新評(píng)論