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

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

js 前加分號(hào)和感嘆號(hào)是什么意思?

js 前加分號(hào)和感嘆號(hào)是什么意思?

繁星coding 2018-12-06 19:11:32
;!function(){}(); ?;!有什么用?
查看完整描述

2 回答

?
吃雞游戲

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

從語(yǔ)法上來(lái)開,Javascript中分號(hào)表示語(yǔ)句結(jié)束,在開頭加上,可能是為了壓縮的時(shí)候和別的方法分割一下,表示一個(gè)新的語(yǔ)句開始。所以,如果在一個(gè)單獨(dú)的JS文件中,開頭的分號(hào)是沒有任何意義的,可以刪掉。

嘆號(hào)是邏輯運(yùn)算符,是“非”的意思,常見這種寫法 if(!true){};而將運(yùn)算符加載函數(shù)定義的前面,則是將函數(shù)看做一個(gè)整體,然后再調(diào)用這個(gè)函數(shù),并對(duì)返回的結(jié)構(gòu)進(jìn)行邏輯運(yùn)算。

說(shuō)白了,此處就是構(gòu)建了一個(gè)立即執(zhí)行函數(shù),建議樓主知道意思就可以,自己寫的時(shí)候,可以使用更清晰的格式:

(function(){})();

查看完整回答
反對(duì) 回復(fù) 2018-12-24
?
MMTTMM

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

樓上已經(jīng)給出很詳細(xì)的解說(shuō)了。

這里補(bǔ)充一點(diǎn):在函數(shù)聲明【 function (){} 】后面加【 () 】,意思是執(zhí)行這個(gè)函數(shù)聲明。有的叫法是“匿名自動(dòng)執(zhí)行函數(shù)”,更準(zhǔn)確的表示應(yīng)該為“立即執(zhí)行函數(shù)”。

?

但立即執(zhí)行函數(shù),要作為表達(dá)式的一部分才行,不然js解釋器會(huì)報(bào)語(yǔ)法錯(cuò)誤。一般,成為表達(dá)式的最容易理解方式是:在左右兩端加一個(gè)圓括號(hào),像這樣【 (function (){}) 】。所以,立即執(zhí)行函數(shù)最常見的寫法是【 (function (){})() 】,這是一個(gè)語(yǔ)句,在前面和后面都可以加【 ; 】。

?

其實(shí)立即執(zhí)行函數(shù)還有N種寫法,比如【 (function (){}) 】也行,在函數(shù)聲明前加一元運(yùn)算符也行:【 !function (){}() 】、【 ~function (){}() 】。甚至,對(duì)一元運(yùn)算符進(jìn)行組合也可以:【 !!!!function (){}() 】、【 ~~~function (){}()?】、【 !~!function (){}()?】。

?

推薦閱讀 湯姆大叔 的《深入理解JavaScript系列

查看完整回答
反對(duì) 回復(fù) 2018-12-24
  • 2 回答
  • 0 關(guān)注
  • 556 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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