色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:112日期: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
相關文章:
主站蜘蛛池模板: 欧美午夜免费观看福利片 | 女人张开腿让男人添 | 亚洲久久网站 | 国产欧美一区二区三区久久 | 高清免费国产在线观看 | 日韩欧美成末人一区二区三区 | 狠狠色狠狠综合久久 | 香蕉毛片a| 国产永久高清免费动作片www | 国产一在线精品一区在线观看 | 欧美在线观看成人高清视频 | 一级毛片a免费播放王色 | 天天综合色一区二区三区 | 久久精品国产国产 | 国产三级久久久精品三级 | 日本一级毛片视频无遮挡免费 | 91探花福利精品国产自产在线 | 久久精品国产99久久久 | 久久精品免视着国产成人 | 欧美日韩中文一区二区三区 | 99视频有精品视频免费观看 | 亚洲性视频在线 | 色悠久久久久综合网伊人男男 | 萌白酱粉嫩jk福利视频在线观看 | 日本成a人伦片 | 日韩三级一区 | 亚洲成在人线免费视频 | 日本www视频 | aa日本| 免费一级毛片在线播放欧美 | 亚洲欧美综合久久 | 日韩美香港a一级毛片 | 国产网站黄 | 日韩毛毛片 | 国产亚洲精品一区二区久久 | 97精品国产综合久久久久久欧美 | 国产片18在线观看 | 欧美成人性毛片免费版 | 深夜福利爽爽爽动态图 | 欧美日韩视频一区二区在线观看 | 欧美性极品hd高清视频 |