1. 程式人生 > >《JavaScript權威指南(第6版)》——第2章詞法結構總結

《JavaScript權威指南(第6版)》——第2章詞法結構總結

一、基本概念

  1. 直接量:就是程式中直接使用的資料值。
// 如
12;
  1. 識別符號(就是用來命名的):只能以字母、下劃線(_)、美元符號($)開頭,後可接數字、下劃線、美元符號、字母。
  2. 分號(分隔符)可選
    這意味著可以省略所有語句的分隔符(;)嗎?當然不是
    注意:
  • 在js中,如果語句各自獨佔一行,通常可以省略語句之間的分號(程式結尾或右花括號"}"之前的分號也可以省略);
  • 只有在缺少了分號就無法正確解析程式碼的時候,js在會填充分號,即如果當前語句和隨後的非空格字元不能當成一個整體來解析的話,js就在當前語句行結束處填充分號。
var a
a
=
3
console.log(a)

js會將其解析為:

var a; a = 3; console.log(a);
  • 如果當前語句和下一行語句無法合併解析,js則在第一行後填充分號,這是通用規則。
    但是這條規則有兩個例外:

i. return、break、continue後緊跟換行,js會在換行處填補分號。同時這種錯誤很難排查。

return
true
// 會解析成如下語句
return; true;

ii. 涉及 “++” 和 “–” 運算子時,如果它和表示式不在同一行,則行尾將新增分號,同時 “++” 或 “–” 將
作為下一行程式碼的字首。

x
++
y
// 將解析為
x; ++y;

**總結:**完整的 js 語句可以省略分號(;)。