摘要:規(guī)則三循環(huán)及空循環(huán)體的不能省略分號(hào)如最后我想說(shuō)的是分號(hào)的省略與否完全是個(gè)人的編碼風(fēng)格,所以初學(xué)者不必死鉆牛角尖,弄清楚原理才是最重要的。
規(guī)則一:JavaScript僅在“}”后、一行結(jié)束時(shí)以及一段程序結(jié)束處自動(dòng)添加分號(hào)傳統(tǒng)的編程語(yǔ)言中分號(hào)是不可省略的,但在看JavaScript代碼時(shí),新手常常會(huì)發(fā)現(xiàn)很多知名的大牛們都省略了分號(hào),為什么會(huì)這樣呢?其實(shí)是因?yàn)镴avaScript的自動(dòng)插入分號(hào)技術(shù),大多數(shù)情況下分號(hào)是可以省略的,下面說(shuō)說(shuō)自動(dòng)插入分號(hào)的規(guī)則。
規(guī)則二:JavaScript僅在下一行第一個(gè)字符無(wú)法解析時(shí)自動(dòng)添加分號(hào)如下面一組代碼:
function right(x) { x++; return x } function wrong(x) {x++ return x}
規(guī)則三:for循環(huán)及空循環(huán)體的while不能省略分號(hào)若第二行為(、[、+、-或/開(kāi)頭時(shí),JavaScript不會(huì)自動(dòng)添加分號(hào),如
a=b (f(n))就相當(dāng)于
a=b(f(n))這一點(diǎn)在多個(gè)JavaScript文件合并時(shí)尤為要注意,假設(shè)兩個(gè)主體為立即執(zhí)行函數(shù)的JavaScript文件合并:
(function() { ... })() ;(function() { ... })()這種情況下分號(hào)不能省略,原理同上,但一般自動(dòng)化工具會(huì)在此處添加分號(hào)。
如 while(true);
最后我想說(shuō)的是分號(hào)的省略與否完全是個(gè)人的編碼風(fēng)格,所以JS初學(xué)者不必死鉆牛角尖,弄清楚原理才是最重要的。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/83826.html
摘要:許多程序員包括本書中的示例代碼使用分號(hào)來(lái)明確標(biāo)記語(yǔ)句的結(jié)束,即使在并不完全需要分號(hào)的時(shí)候也是如此。為了能讓上述代碼解析為兩條不同的語(yǔ)句,必須手動(dòng)填寫行尾的顯式分號(hào)。第一個(gè)例外是在涉及和語(yǔ)句的場(chǎng)景中。 和其他許多編程語(yǔ)言一樣,JavaScript使用分號(hào)(;)將語(yǔ)句分隔 開(kāi)。這對(duì)增強(qiáng)代碼的可讀性和整潔性是非常重要的:缺少分隔符,一條語(yǔ)句的結(jié)束 就成了下一條語(yǔ)句的開(kāi)始,反之亦然。在Java...
摘要:自動(dòng)填補(bǔ)分號(hào)的規(guī)則在說(shuō)要不要寫分號(hào)之前,先了解一下自動(dòng)填補(bǔ)分號(hào)的規(guī)則。后來(lái)看到知乎上的作者尤雨溪和前端大神賀師俊的回答后,我對(duì)寫分號(hào)的想法完全顛覆了。總是寫分號(hào)并不能完全解決缺陷如后換行會(huì)自動(dòng)插入分號(hào)。 在打算寫這篇文章之前,我是一個(gè)分號(hào)黨,在寫這篇文章之后,可能會(huì)轉(zhuǎn)為無(wú)分號(hào)黨了。之前是寫分號(hào)是編輯器語(yǔ)法較檢所養(yǎng)成的強(qiáng)迫癥,現(xiàn)在觀念的轉(zhuǎn)變,是因?yàn)榭戳瞬簧俅笊竦挠懻摵螅X(jué)得javascr...
摘要:花點(diǎn)時(shí)間搞清楚中的分號(hào)規(guī)則吧不管你喜歡結(jié)尾帶分號(hào)或省略分號(hào)的模式分號(hào)允許的場(chǎng)景分號(hào)一般允許出現(xiàn)在大部分語(yǔ)句的末尾,比如等栗子僅有一個(gè)分號(hào)可以表示空語(yǔ)句在中合法,比如可解析為三個(gè)空語(yǔ)句空語(yǔ)句可用于輔助產(chǎn)生語(yǔ)法合法的解析結(jié)果,如如果沒(méi)有末尾的 花點(diǎn)時(shí)間搞清楚JS中的分號(hào)規(guī)則吧~~~不管你喜歡結(jié)尾帶分號(hào)或省略分號(hào)的模式 分號(hào)允許的場(chǎng)景 分號(hào)一般允許出現(xiàn)在大部分語(yǔ)句(statement)的末尾...
摘要:最近在清理的未讀列表,看到了才知道了的,一種自動(dòng)插入分號(hào)的機(jī)制。這種行為被叫做自動(dòng)插入分號(hào),簡(jiǎn)稱。不過(guò)在省略分號(hào)的風(fēng)格中,這種解析特性會(huì)導(dǎo)致一些意外情況。規(guī)則標(biāo)準(zhǔn)定義的包括三條規(guī)則和兩條例外。規(guī)則一情況三就是為量身定做的。 TL;DR 最近在清理 Pocket 的未讀列表,看到了 An Open Letter to JavaScript Leaders Regarding Semico...
摘要:中分號(hào)自動(dòng)插入轉(zhuǎn)譯自鏈接描述在中,分號(hào)自動(dòng)插入機(jī)制允許在一行代碼結(jié)尾省略分號(hào)。比如分號(hào)自動(dòng)插入規(guī)則分號(hào)插入只是一個(gè)術(shù)語(yǔ)。如果在這些位置遇到換行了,分號(hào)將被插入。 JavaScript中分號(hào)自動(dòng)插入 轉(zhuǎn)譯自:鏈接描述在JavaScript中,分號(hào)自動(dòng)插入機(jī)制允許在一行代碼結(jié)尾省略分號(hào)。你應(yīng)該養(yǎng)成一直書寫分號(hào)的習(xí)慣,與此同時(shí)掌握J(rèn)avaScript分號(hào)省略處理機(jī)制是十分重要的。因?yàn)檫@不僅有...
閱讀 2444·2021-11-19 09:59
閱讀 1973·2019-08-30 15:55
閱讀 930·2019-08-29 13:30
閱讀 1330·2019-08-26 10:18
閱讀 3081·2019-08-23 18:36
閱讀 2382·2019-08-23 18:25
閱讀 1156·2019-08-23 18:07
閱讀 430·2019-08-23 17:15