你不知道的JavaScript筆記2

IIFE 立即執(zhí)行函數(shù)表達(dá)式 (Immediately Invoked Function Expression)

  • 將一個(gè)參數(shù)命名為 undefined,但是在對應(yīng)的位置不傳入任何值,這樣就可以
    保證在代碼塊中 undefined 標(biāo)識(shí)符的值真的是 undefined:
undefined = true;
// 給其他代碼挖了一個(gè)大坑!絕對不要這樣做!
(function IIFE(undefined) {
    var a;
    if (a === undefined) {
        console.log("Undefined is safe here!");
    }
}
)()
  • 是倒置代碼的運(yùn)行順序序,將需要運(yùn)行的函數(shù)放在第二位,在 IIFE
    執(zhí)行之后當(dāng)作參數(shù)傳遞進(jìn)去。
var a = 2;
(function IIFE(def) {
    def(window);
}
)(function def(global) {
    var a = 3;
    console.log(a);
    // 3
    console.log(global.a);
    // 2
});

這種模式在 UMD(Universal Module Definition)項(xiàng)目中被廣泛使用。盡管這種模式略顯冗長,但有些人認(rèn)為它更易理解

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容