国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - 關(guān)於一個分號的問題,為什麼沒有分號就報錯了?
高洛峰
高洛峰 2017-05-16 13:42:00
0
3
695

#輸出2

當(dāng)把那個分號去掉,報錯

求問那個分號是起了什麼作用?為什麼去掉會報錯呢?

高洛峰
高洛峰

擁有18年軟件開發(fā)和IT教學(xué)經(jīng)驗。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項目經(jīng)理、高級軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...

全部回覆(3)
我想大聲告訴你

不是分號的問題,
而是如果沒有;號的阻斷, 解釋器直接把兩條語句合併成:

var xx = function(){}[1,2,3].aa(22);

在使用已()和[]為開頭的語句時, 要尤其註意, 因為這兩個操作符會優(yōu)先和前面的表達(dá)式進(jìn)行組合, ;號不能省

在某些的;號則不是必須的, 例如;

var a = 1, b=2
a++
b++

這並不會報錯

由於js 並沒有明確的對這樣的行為做出解釋, 而且頁容易混亂, 所以推薦的做法一般都是:
不管需不需要;號隔間, 你最好在後尾都加上一句, 除非你明確知道(想要)導(dǎo)致的結(jié)果.
這種做法稱作最佳實踐

洪濤

function(){}[1,2,3] 回傳undefined

劉奇

這裡的分號應(yīng)該表示的是這一語句結(jié)束吧?

Array.prototype.aa = function(){console.log(2);};

我覺得你寫成這樣就看得出來了。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板