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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript+函數(shù)名前面的符號

JavaScript+函數(shù)名前面的符號

JavaScript+函數(shù)名前面的符號我一直在查看有關(guān)自調(diào)用函數(shù)的信息,在某個地方我偶然發(fā)現(xiàn)了這個表示法:+function(){}有人能跟我解釋一下+在函數(shù)前面簽名意味著/做什么?
查看完整描述

3 回答

?
心有法竹

TA貢獻1866條經(jīng)驗 獲得超5個贊

它強制解析器處理以下部分+作為表達。這通常用于立即調(diào)用的函數(shù),例如:

+function() { console.log("Foo!"); }();

沒有+在那里,如果解析器處于期望語句(可以是表達式或多個非表達式語句)的狀態(tài),則單詞function看起來像函數(shù)的開頭聲明而不是一個函數(shù)表達所以()在它之后(在上面行的末尾)將是一個語法錯誤(在這個例子中,名稱的縮寫也是如此)。帶著這個+,它使其成為一個函數(shù)表達式,這意味著名稱是可選的,并導致對函數(shù)的引用,該函數(shù)可以被調(diào)用,因此括號是有效的。

+只是其中一個選擇。也可以是-!~或者任何其他一元運算符?;蛘?,您可以使用括號(這是比較常見的,但在語法上既不多也不差):

(function() { console.log("Foo!"); })();// or(function() { console.log("Foo!"); }());


查看完整回答
反對 回復 2019-06-20
?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

附屬機構(gòu)+通常用于強制數(shù)值鑄造的值。正如這個答案所解釋的..在這種情況下,它被稱為‘一元加運算符’(為了便于谷歌搜索)。

var num = +variant;

因此,在函數(shù)前面,它可以強制函數(shù)的結(jié)果被解釋為一個數(shù)字。我對此表示懷疑,但從理論上講,JIT可以使用它將函數(shù)編譯為只用于數(shù)字的函數(shù)等等。然而,為了防止一元加上在較大表達式中使用的級聯(lián),您需要括號:

blah + (+(function(){ var scope; return "4"; })());


查看完整回答
反對 回復 2019-06-20
?
郎朗坤

TA貢獻1921條經(jīng)驗 獲得超9個贊

因此,簡單的回答是,它通過以某種方式使用函數(shù)來防止語法錯誤。

還可以指示引擎您甚至對返回值不感興趣,方法是使用void操作員:

void function() { console.log("Foo!"); }();

當然,把支撐套在整件事情上也能達到這個目的。


查看完整回答
反對 回復 2019-06-20
  • 3 回答
  • 0 關(guān)注
  • 1192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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