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

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 回調(diào)函數(shù)和普通調(diào)用函數(shù)的區(qū)別?

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

問題描述

回調(diào)函數(shù)的定義是將b函數(shù)當(dāng)做參數(shù)傳給a去執(zhí)行,此時(shí)b就是回調(diào)函數(shù),我突然有個(gè)疑問,它和a函數(shù)里直接調(diào)用b有什么區(qū)別呢?我自己寫了個(gè)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秒鐘才能看到輸出結(jié)果,然后改寫為回調(diào)函數(shù)的形式

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秒后才能看到輸出結(jié)果找了很多文章,都說明了當(dāng)b作為a函數(shù)的回調(diào)函數(shù)執(zhí)行時(shí),并不妨礙a函數(shù)的正常執(zhí)行,按照這個(gè)邏輯,第二種方式應(yīng)該是立即輸出hello world的,難道是我回調(diào)函數(shù)用錯(cuò)了嗎?還是理解有問題?

問題解答

回答1:

1.性能沒有區(qū)別2.回調(diào)函數(shù)是作為參數(shù)傳遞的,操作更加靈活,比如,你可以定義一個(gè)函數(shù)c,那可以運(yùn)行 b(c),當(dāng)你在函數(shù)內(nèi)運(yùn)行函數(shù)的時(shí)候,就失去了變量的靈活性。

回答2:

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

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 91p在线 | 亚洲欧美片 | 亚洲精品中文字幕一区在线 | 伊人色在线视频 | 三级国产精品 | 久久精品成人 | 国产日韩欧美一区二区三区在线 | a毛片在线播放 | 亚洲精品综合久久中文字幕 | 波多野结衣视频免费在线观看 | 久久精品国产一区二区三区日韩 | 人成午夜 | 中文字幕视频在线 | 亚洲人成免费 | 国产日产亚洲精品 | 黄页美女 | 国产大片中文字幕在线观看 | 久久九九国产 | 日本aaaa片毛片免费 | 欧美色视频日本片免费高清 | 久久久久久久久毛片精品 | 亚洲精品国产成人99久久 | 欧美日韩一区二区三区在线播放 | 久久国产精品二国产精品 | 国产麻豆入在线观看 | a国产片| 日韩中文字幕视频在线 | 美女视频黄色网址 | 亚洲第一视频网站 | 国自产精品手机在线视频香蕉 | 美女18网站| 69成人做爰视频在线观看 | 免费v片在线看 | 国内久久久久影院精品 | 精品成人免费一区二区在线播放 | 成人欧美视频在线观看播放 | 综合久久91 | 91刘亦菲精品福利在线 | 99亚洲自拍 | 国内自拍第100页 | 欧美一级视频免费看 |