第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

自動(dòng)執(zhí)行匿名JavaScript函數(shù)的括號(hào)位置?

自動(dòng)執(zhí)行匿名JavaScript函數(shù)的括號(hào)位置?

慕村225694 2019-06-01 16:23:10
自動(dòng)執(zhí)行匿名JavaScript函數(shù)的括號(hào)位置?我最近比較了當(dāng)前版本的json2.js使用我在項(xiàng)目中的版本,我注意到函數(shù)表達(dá)式是如何創(chuàng)建和自執(zhí)行的。用于在圓括號(hào)中包裝匿名函數(shù)并執(zhí)行它的代碼,(function () {   // code here})();但是現(xiàn)在它將自動(dòng)執(zhí)行的函數(shù)封裝在括號(hào)中。(function () {   // code here}());在接受的答復(fù)中,CMS有一個(gè)評(píng)論。解釋JavaScript封裝的匿名函數(shù)語(yǔ)法“兩者都:(function(){})();和(function(){}());是有效的?!拔蚁胫烙惺裁磪^(qū)別?前者是否通過(guò)保留一個(gè)全局匿名函數(shù)來(lái)占用內(nèi)存?括號(hào)應(yīng)該放在哪里?
查看完整描述

4 回答

?
牧羊人nacy

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊

那樣的話沒(méi)關(guān)系。您正在調(diào)用第一個(gè)定義中解析為函數(shù)的表達(dá)式,并在第二個(gè)示例中定義并立即調(diào)用一個(gè)函數(shù)。它們是相似的,因?yàn)榈谝粋€(gè)示例中的函數(shù)表達(dá)式只是函數(shù)定義。

對(duì)于調(diào)用解析函數(shù)的表達(dá)式,還有其他更明顯有用的情況:

(foo || bar)()


查看完整回答
反對(duì) 回復(fù) 2019-06-01
?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

除了語(yǔ)法之外,沒(méi)有任何不同之處。

關(guān)于你對(duì)第二種方法的關(guān)注:

考慮:

(function namedfunc () { ... }())

namedfunc即使您提供了名稱(chēng),也不會(huì)在全局范圍內(nèi)。匿名函數(shù)也是如此。在該范圍內(nèi)獲得它的唯一方法是將其賦值給父類(lèi)中的一個(gè)變量。

((namedfunc = function namedfunc () { ... })())

外部父母是不必要的:

(namedfunc = function namedfunc () { ... })()

但你無(wú)論如何都不想要那份全球宣言,對(duì)吧?

因此,它歸結(jié)為:

(function namedfunc () { ... })()

您還可以進(jìn)一步減少它:名稱(chēng)是不必要的,因?yàn)樗肋h(yuǎn)不會(huì)被使用(除非您的函數(shù)是遞歸的。)即使那樣你也可以用arguments.callee)

(function () { ... })()

這就是我對(duì)它的看法(可能是不正確的,我還沒(méi)有閱讀ECMAScript規(guī)范)。希望能幫上忙。


查看完整回答
反對(duì) 回復(fù) 2019-06-01
  • 4 回答
  • 0 關(guān)注
  • 785 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)