W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
源代碼:
{ 1 2 } 3
即使在自動(dòng)分號(hào)插入規(guī)則下,它也不符合 ECMAScript 文法。做為對(duì)比,源代碼:
{ 1 2 } 3
它還是不符合 ECMAScript 文法,但是它會(huì)被自動(dòng)分號(hào)插入成為一下形式:
{ 1 ;2 ;} 3;
這符合 ECMAScript 文法。
源代碼:
for (a; b )
不符合 ECMAScript 文法,并且不會(huì)被自動(dòng)分號(hào)插入所更改,因?yàn)?for 語(yǔ)句頭部需要分號(hào)。自動(dòng)分號(hào)插入從來(lái)不會(huì)插入成 for 語(yǔ)句頭部的兩個(gè)分號(hào)之一。
源代碼:
return a + b
會(huì)被自動(dòng)分號(hào)插入轉(zhuǎn)換成以下形式:
return; a + b;
表達(dá)式 a + b 不會(huì)被當(dāng)做是 return 語(yǔ)句要返回的值,因?yàn)橛幸粋€(gè) LineTerminator 分割了它和 return token。
源代碼:
a = b ++c
會(huì)被自動(dòng)分號(hào)插入轉(zhuǎn)換成以下形式:
a = b; ++c;
++token 不會(huì)被當(dāng)做應(yīng)用于變量 b 的后綴運(yùn)算符,因?yàn)?b 和 ++ 之間出現(xiàn)了一個(gè) LineTerminator。
源代碼:
if (a > b) else c = d
它不符合 ECMAScript 文法 ,else token 前面不會(huì)被自動(dòng)分號(hào)插入改變,即使沒(méi)有文法產(chǎn)生式適用這一位置,因?yàn)樽詣?dòng)插入分號(hào)后會(huì)解析成空語(yǔ)句。
源代碼:
a = b + c (d + e).print()
它不會(huì)被自動(dòng)分號(hào)插入改變,因?yàn)榈诙虚_(kāi)始位置的括號(hào)表達(dá)式可以解釋成函數(shù)調(diào)用的參數(shù)列表:
a = b + c(d + e).print()
在賦值語(yǔ)句必須用左括號(hào)開(kāi)頭的情況下,程序員在前面語(yǔ)句的結(jié)束位置明確的提供一個(gè)分號(hào)是個(gè)好主意,而不是依賴于自動(dòng)分號(hào)插入。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: