亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript - 回調函數和普通調用函數的區別?

瀏覽:86日期:2023-06-04 11:16:41

問題描述

回調函數的定義是將b函數當做參數傳給a去執行,此時b就是回調函數,我突然有個疑問,它和a函數里直接調用b有什么區別呢?我自己寫了個demo

function a(){ b(); console.log(’hello world’);}function b(){ var n = 0; for(var i = 0;i < 1000000000;i++){n++; } return n;}a(); //hello world

大概3秒鐘才能看到輸出結果,然后改寫為回調函數的形式

function a(callback){ callback.call(this); console.log(’hello world’);}function b(){ var n = 0; for(var i = 0;i < 1000000000;i++){ } console.log(1);}a(b); //hello world

也是3秒后才能看到輸出結果找了很多文章,都說明了當b作為a函數的回調函數執行時,并不妨礙a函數的正常執行,按照這個邏輯,第二種方式應該是立即輸出hello world的,難道是我回調函數用錯了嗎?還是理解有問題?

問題解答

回答1:

1.性能沒有區別2.回調函數是作為參數傳遞的,操作更加靈活,比如,你可以定義一個函數c,那可以運行 b(c),當你在函數內運行函數的時候,就失去了變量的靈活性。

回答2:

嗯,是你理解錯了,調用的效果是一樣的。還有 callback.call(this); 畫蛇添足,跟 callback() 的 this 是一樣的。

回調的好處是依賴倒置,不用修改 a 的代碼就可以讓 a 調用 c、d、e....

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 羞羞影院免费观看网址在线 | 高清日韩在线 | 国产一级毛片外aaaa | 久久99精品国产99久久6男男 | 亚洲欧美在线观看播放 | 爱操成人网| 欧美变态口味重另类日韩毛片 | 色吊丝永久性观看网站大全 | 久在线播放| 欧美一级视频在线高清观看 | 国产成人拍精品视频网 | 亚1洲二区三区四区免费 | 一区二区三区四区在线视频 | 在线观看日本永久免费视频 | 国产精品一区二区手机在线观看 | 91在线精品你懂的免费 | 欧美日韩亚洲区久久综合 | 拍拍拍精品视频在线观看 | 午夜精品一区二区三区免费视频 | 国产成人高清视频免费播放 | 一级毛片一级毛片一级毛片aa | 亚洲人成影院在线高清 | 久久在视频 | 日本sese| 久久精品国产2020 | 日产免费线路一页二页 | 一级免费毛片 | 一及黄色片 | 伊人丁香 | 免费中文字幕 | 亚洲欧美日本欧美在线播放污 | 国产丝袜诱惑 | 国产特级毛片aaaaaa毛片 | 日韩三级一区二区 | 久久精品免观看国产成人 | 国产精选第一页 | 日韩不卡在线 | 狠狠色丁香婷综合久久 | 精品国产免费第一区二区三区日韩 | 永久免费看毛片 | 亚洲香蕉视频 |