摘要:常見(jiàn)的函數(shù)長(zhǎng)這個(gè)樣子輸出這是個(gè)普普通通的函數(shù)聲明,在結(jié)尾不需要,你需要通過(guò)來(lái)調(diào)用它,函數(shù)才會(huì)執(zhí)行。輸出是一個(gè)表達(dá)式,但不會(huì)調(diào)用函數(shù),于是再在結(jié)尾加上來(lái)調(diào)用函數(shù),這樣輸出因?yàn)閮?yōu)先于,所以會(huì)先執(zhí)行函數(shù),然后才進(jìn)行非操作。
常見(jiàn)的函數(shù)長(zhǎng)這個(gè)樣子
function foo() { console.log(123); } foo(); // 輸出: 123
這是個(gè)普普通通的函數(shù)聲明,在結(jié)尾不需要";",你需要通過(guò)foo()來(lái)調(diào)用它,函數(shù)才會(huì)執(zhí)行。
!function foo(){ console.log(123); } //輸出: true
是一個(gè)表達(dá)式,但不會(huì)調(diào)用函數(shù),于是再在結(jié)尾加上()來(lái)調(diào)用函數(shù),這樣
!function foo(){ console.log(123); }() //輸出: //123 //true
因?yàn)?)優(yōu)先于!,所以會(huì)先執(zhí)行函數(shù),然后才進(jìn)行非操作。
在函數(shù)體內(nèi)如果無(wú)需調(diào)用自身,那么函數(shù)名都可以省了
!function(){ console.log(123); }() //輸出: //123 //true
這樣做也只是比(function(){})()節(jié)省了一個(gè)字節(jié),而且理解起來(lái)不是很容易。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/85655.html
摘要:匿名函數(shù)是不能單獨(dú)寫(xiě)的,所以就提不上立即執(zhí)行了。六立即執(zhí)行函數(shù)在閉包中的應(yīng)用立即執(zhí)行函數(shù)能配合閉包保存狀態(tài)。來(lái)看下上節(jié)內(nèi)容中閉包的例子現(xiàn)在,我們來(lái)利用立即執(zhí)行函數(shù)來(lái)簡(jiǎn)化它第一個(gè)匿名函數(shù)執(zhí)行完畢后,返回了第二個(gè)匿名函數(shù)。 前面的閉包中,提到與閉包相似的立即執(zhí)行函數(shù),感覺(jué)兩者還是比較容易弄混吧,嚴(yán)格來(lái)說(shuō)(因?yàn)橄?shū)和高程對(duì)閉包的定義不同),立即執(zhí)行函數(shù)并不屬于閉包,它不滿(mǎn)足閉包的三個(gè)條件。...
摘要:要理解立即執(zhí)行函數(shù),需要先理解一些函數(shù)的基本概念。函數(shù)表達(dá)式使用關(guān)鍵字聲明一個(gè)函數(shù),但未給函數(shù)命名,最后將匿名函數(shù)賦予一個(gè)變量,叫函數(shù)表達(dá)式,這是最常見(jiàn)的函數(shù)表達(dá)式語(yǔ)法形式。 javascript和其他編程語(yǔ)言相比比較隨意,所以javascript代碼中充滿(mǎn)各種奇葩的寫(xiě)法,有時(shí)霧里看花,當(dāng)然,能理解各型各色的寫(xiě)法也是對(duì)javascript語(yǔ)言特性更進(jìn)一步的深入理解。 ( functio...
摘要:和是兩種立即執(zhí)行函數(shù)的常見(jiàn)寫(xiě)法,最初我以為是一個(gè)括號(hào)包裹匿名函數(shù),再在后面加個(gè)括號(hào)調(diào)用函數(shù),最后達(dá)到函數(shù)定義后立即執(zhí)行的目的,后來(lái)發(fā)現(xiàn)加括號(hào)的原因并非如此。 javascript和其他編程語(yǔ)言相比比較隨意,所以javascript代碼中充滿(mǎn)各種奇葩的寫(xiě)法,有時(shí)霧里看花,當(dāng)然,能理解各型各色的寫(xiě)法也是對(duì)javascript語(yǔ)言特性更進(jìn)一步的深入理解。 ( function(){…} )...
摘要:前言大家學(xué)的時(shí)候,經(jīng)常遇到自執(zhí)行匿名函數(shù)的代碼,今天我們主要就來(lái)想想說(shuō)一下自執(zhí)行。其實(shí),前面兩個(gè)例子里的變量,也可以換成,因?yàn)楹屯饷娴牟辉谝粋€(gè)作用于,所以不會(huì)出現(xiàn)問(wèn)題,這也是匿名函數(shù)閉包的威力。 前言 大家學(xué)JavaScript的時(shí)候,經(jīng)常遇到自執(zhí)行匿名函數(shù)的代碼,今天我們主要就來(lái)想想說(shuō)一下自執(zhí)行。 在詳細(xì)了解這個(gè)之前,我們來(lái)談了解一下自執(zhí)行這個(gè)叫法,本文對(duì)這個(gè)功能的叫法也不一定完全對(duì)...
摘要:匿名函數(shù)的好處在于可以減少局部變量,以免污染現(xiàn)有的運(yùn)行環(huán)境。另外通過(guò),這三個(gè)符號(hào)運(yùn)行的匿名函數(shù)比運(yùn)行的匿名函數(shù)可以減少一個(gè)字符的使用但是我們通常使用加因?yàn)槠渌牟僮鞣赡軙?huì)帶來(lái)其他的影響更多可以參考 js中的立即執(zhí)行函數(shù) ( function(){…} )()和( function (){…} () )是兩種javascript立即執(zhí)行函數(shù)的常見(jiàn)寫(xiě)法 問(wèn)題: 為什么會(huì)出現(xiàn)上面的兩種不一...
摘要:將匿名函數(shù)賦予一個(gè)變量,叫函數(shù)表達(dá)式,這是最常見(jiàn)的函數(shù)表達(dá)式語(yǔ)法形式。組成這是一個(gè)被稱(chēng)為自執(zhí)行匿名函數(shù)的設(shè)計(jì)模式,主要包含兩部分。 一、函數(shù)聲明&函數(shù)表達(dá)式 1.1 函數(shù)聲明 (函數(shù)語(yǔ)句) showImg(https://segmentfault.com/img/bVbbqvT?w=278&h=166); (1)使用 function 關(guān)鍵字聲明一個(gè)函數(shù),再指定一個(gè)函數(shù)名,叫函數(shù)聲明。...
閱讀 1371·2021-09-10 10:51
閱讀 2836·2019-08-30 15:54
閱讀 3377·2019-08-29 17:11
閱讀 936·2019-08-29 16:44
閱讀 1399·2019-08-29 13:47
閱讀 1095·2019-08-29 13:47
閱讀 1496·2019-08-29 12:23
閱讀 1052·2019-08-28 18:18