2 回答

TA貢獻2039條經(jīng)驗 獲得超8個贊
分號加與不加完全取決于個人習(xí)慣,但為了代碼穩(wěn)定(解析出錯)還是建議使用分號斷句。
JavaScript自動加分號規(guī)則:
1.當(dāng)有換行符(包括含有換行符的多行注釋),并且下一個token沒法跟前面的語法匹配時,會自動補分號。
2.當(dāng)有}時,如果缺少分號,會補分號。
3.當(dāng)程序源代碼結(jié)束時,如果缺少分號,會補分號。
結(jié)論:
1.在return、break、continue、后自增、后自減五種語句中,換行符可以完全替代分號的作用。
2.var if do while for continue break return with switch throw try debugger幾種關(guān)鍵字開頭的語句,以及空語句,上一行加不加分號影響不大。
3.凡表達式語句和函數(shù)表達式語句,后面不加分號非常危險,情況極其復(fù)雜。
4.凡(和[開頭的語句,前面不加分號極度危險。

TA貢獻1818條經(jīng)驗 獲得超8個贊
不寫分號并非是js的強制語法規(guī)則。而且js只是保證了可以幫你加上,但并不是一定幫你準(zhǔn)確的加上。所以,如果要不寫分號,那么就需要建立在JavaScript能夠保證正確的給源代碼加上分號,當(dāng)然這個時候不寫分號就成為了JavaScript的標(biāo)準(zhǔn)語法規(guī)則了。就如同縮進是語法規(guī)則的pyhton,所以如果去python那里主張一下去掉縮進會是什么后果可想而知。
大家都吃水果,突然有一天有人說水果里面李子好吃,大家都吃李子吧。果然是爭論一片。雖然說愛吃啥吃啥比較明智一點,但是,爭論半天到底最終吃的還是不是水果,也沒有人關(guān)心是撥皮還是不撥皮了。
作為多種語言工具的使用者,從C開始可能保持了寫分號,在js這里遇到了一個程序語言定義上出現(xiàn)的分號可不寫的大坑,但也不說明從C開始愛寫分號有什么錯,只是想簡簡單單的將通用的語法規(guī)則用到其他語言上,所以,能夠掌握什么時候?qū)懯裁磿r候不寫的確很流弊,的確很大神。但是我什么時候都寫分號,照樣不影響正常生理工作也很重要。
所以不寫分號很流弊,但是要想讓我站到不寫分號黨,那么就請讓不寫分號可以保證能夠正確的給我加上分號再說吧。
添加回答
舉報