close
文章出處

在javascript工作中,我們幾乎不會去省略分號;為了不必要的麻煩以及代碼的規范,那么如果我們省略;會發生呢?預知詳情請聽下回分解。

 

看代碼!

片段一:

1 var a
2 = 
3 8
4 console.log(a); >>8

片段二:

var a
b
= 
8
console.log(a); >>undefined
console.log(b); >>8
console.log(ab); >>Uncaught ReferenceError: ab is not defined

看到了什么?

你沒有猜錯,你可以這樣去理解,當我們按回車就是給它加了一個空格,比如上面的片段一:var a = 8,但是它發現后面的console.log(a)是一個獨立的語句所以js默認在var a = 8的后面加了一個分號;最后就變成了

var a = 8;console.log(a);

當然上面那只是一種情況,片段二的情況是這樣的:var a;b=8;為什么會這樣呢,因為js發現如果加的是空格的話就會出現錯誤 var a b = 8;是運行不了的,所以js就給它加了個分號,簡單的來說如果前面的能夠和后面的拼接上那么它加的就是空格,如果拼接不上就加分號,這個第二種情況。當然這也只是我的理解,如果有理解錯誤請告知。

 

另外的還有幾種特殊的情況

1 var a = 2;
2 var b = 3;
3 a
4 ++
5 b
6 console.log(a); >>2
7 console.log(b); >>4

如果是這種情況,它的運行結果是a;++b;

至于為什么因為本人技術有限,暫時也不清楚。

 

還有就是另外3個比較特殊的

return,continue,break;

如果有換行后面加的是分號

return
true;

它解析成了return;true;


不含病毒。www.avast.com
arrow
arrow
    全站熱搜

    AutoPoster 發表在 痞客邦 留言(0) 人氣()