成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

IIFE立即執(zhí)行函數(shù)

Dogee / 1993人閱讀

區(qū)別function
Iife最左邊為(。編譯器認(rèn)為是iife,不是函數(shù)。

IIFE的目的是為了隔離作用域,防止污染全局命名空間

彌補(bǔ)scope的缺陷 用于隔離作用域
全局作用域 塊級作用域 函數(shù)作用域
只有function才能實(shí)現(xiàn)作用域隔離,因此如果要將一段代碼中的變量、函數(shù)等的定義隔離出來,只能將這段代碼封裝到一個(gè)函數(shù)中。

將代碼封裝到函數(shù)中的目的是為了復(fù)用。在JS中,當(dāng)然聲明函數(shù)的目的在大多數(shù)情況下也是為了復(fù)用,但是JS迫于作用域控制手段的貧乏,我們也經(jīng)??吹街皇褂靡淮蔚暮瘮?shù):這通常的目的是為了隔離作用域了!既然只使用一次,那么立即執(zhí)行好了!

IIFE構(gòu)造單例模式

JS的模塊就是函數(shù),最常見的模塊定義如下:
functionmyModule(){
varsomeThing="123";
varotherThing=[1,2,3];

functiondoSomeThing(){

console.log(someThing);

}

functiondoOtherThing(){

console.log(otherThing);

}

return{

doSomeThing:doSomeThing,
doOtherThing:doOtherThing

}
}

varfoo=myModule();
foo.doSomeThing();
foo.doOtherThing();

varfoo1=myModule();
foo1.doSomeThing();
如果需要一個(gè)單例模式的模塊,那么可以利用IIFE:
var myModule=(functionmodule(){
varsomeThing="123";
varotherThing=[1,2,3];

functiondoSomeThing(){

console.log(someThing);

}

functiondoOtherThing(){

console.log(otherThing);

}

return{

doSomeThing:doSomeThing,
doOtherThing:doOtherThing

}
})();

myModule.doSomeThing();

myModule.doOtherThing()

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/115001.html

相關(guān)文章

  • JavaScript-立即調(diào)用函數(shù)表達(dá)式(IIFE

    摘要:將匿名函數(shù)賦予一個(gè)變量,叫函數(shù)表達(dá)式,這是最常見的函數(shù)表達(dá)式語法形式。組成這是一個(gè)被稱為自執(zhí)行匿名函數(shù)的設(shè)計(jì)模式,主要包含兩部分。 一、函數(shù)聲明&函數(shù)表達(dá)式 1.1 函數(shù)聲明 (函數(shù)語句) showImg(https://segmentfault.com/img/bVbbqvT?w=278&h=166); (1)使用 function 關(guān)鍵字聲明一個(gè)函數(shù),再指定一個(gè)函數(shù)名,叫函數(shù)聲明。...

    XUI 評論0 收藏0
  • IIFE 疑惑解析

    摘要:問題解答定義了一個(gè)名為的立即執(zhí)行函數(shù)表達(dá)式我們來看這一段代碼,這里面包含著一個(gè)名為的具名函數(shù)表達(dá)式。 IIFE 是什么呢? IIFE 是 Immediately-Invoked Function Expression 的英文縮寫,也就是立即執(zhí)行函數(shù)表達(dá)式。 下面是一個(gè) IIFE 代碼實(shí)例: (function(){ console.log( Hello! ); ...

    Warren 評論0 收藏0
  • Javascript知識點(diǎn):IIFE - 立即調(diào)用函數(shù)

    摘要:所以那些匿名函數(shù)附近使用括號或一些一元運(yùn)算符的慣用法,就是來引導(dǎo)解析器,指明運(yùn)算符附近是一個(gè)表達(dá)式。 Immediately-invoked Function Expression(IIFE,立即調(diào)用函數(shù)),簡單的理解就是定義完成函數(shù)之后立即執(zhí)行。因此有時(shí)候也會被稱為自執(zhí)行的匿名函數(shù)(self-executing anonymous function)。 IIFE的叫法最早見于Ben...

    goji 評論0 收藏0
  • IIFE立即執(zhí)行函數(shù)

    區(qū)別functionIife最左邊為(。編譯器認(rèn)為是iife,不是函數(shù)。 IIFE的目的是為了隔離作用域,防止污染全局命名空間 彌補(bǔ)scope的缺陷 用于隔離作用域全局作用域 塊級作用域 函數(shù)作用域只有function才能實(shí)現(xiàn)作用域隔離,因此如果要將一段代碼中的變量、函數(shù)等的定義隔離出來,只能將這段代碼封裝到一個(gè)函數(shù)中。 將代碼封裝到函數(shù)中的目的是為了復(fù)用。在JS中,當(dāng)然聲明函數(shù)的目的在大多數(shù)情況...

    wuyangnju 評論0 收藏0
  • 立即執(zhí)行函數(shù)表達(dá)式(IIFE)

    摘要:另外,如果你想跳過這里,你可以直接跳到立即調(diào)用函數(shù)表達(dá)式進(jìn)行閱讀,但是我建議你讀完整篇文章。當(dāng)圓括號包裹函數(shù)時(shí),它會默認(rèn)將函數(shù)作為表達(dá)式去解析,而不是函數(shù)聲明。 原文:Immediately-Invoked Function Expression (IIFE) by Ben Alman原譯:立即執(zhí)行函數(shù) by Murphywuwu改增內(nèi)容: by blanu 也許你沒有注意到,我是一個(gè)...

    Yu_Huang 評論0 收藏0

發(fā)表評論

0條評論

Dogee

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<