一、字符集
JavaScript程序是用Unicode字符集編寫的。
1.1 區分大小寫 JavaScript是區分大小寫的語言。也就是說,關鍵字、變量、函數名和全部標識符(identifier)都必須採起一致的大小寫形式。好比:「name」和「Name」是不一樣的變量。
1.2 空格、換行符和格式控制符 在JavaScript中,會忽略程序中標識之間的空格。而對於換行符,JavaScript在多數狀況下也會忽略,但有一種狀況例外:當在return、break、continue語句後添加換行符時,JavaScript會在換行處添加分號。 JavaScript能夠識別一些特殊字符:
空格符(\u0020) 水平製表符(\u0009) 換頁符(\u000C) 換行符(\u000A) 回車符(\u000D)javascript
回車符加換行符在一塊兒被解析爲一個單行結束符。
1.3 Unicode轉義序列 JavaScript定義了一種特殊序列,用6個ASCII字符來表明任意16位Unicode內碼。這些Unicode轉義序列均以\u爲前綴,其後跟隨4個十六進制數(使用數字以及大寫或小寫字母A~F表示)
二、 註釋
JavaScript提供了兩種格式的註釋。 單行註釋: 以//開頭 多行註釋:放在 /* 和 */之間(可跨行書寫,但不能有嵌套註釋)
三、 直接量
直接量:程序中直接使用的數據值。好比:
12 //數字java
1.2 //小數正則表達式
"hello world" //字符串編程
true //布爾值編程語言
/javascript/gi //正則表達式直接量ide
null //空函數
四、 標識符和保留字
標識符(identifier)是用來識別具體對象的一個名稱。 JavaScript語言的標識符對大小寫敏感,因此a和A是兩個不一樣的標識符。
標識符命名規則: 第一個字符不能爲數字,能夠是任意Unicode字母(包括英文字母和其餘語言的字母),以及美圓符號($)和下劃線(_) 第二個字符及後面的字符,除了Unicode字母、美圓符號和下劃線,還能夠用數字。 中文是合法的標識符,能夠用做變量名。 JavaScript有一些保留字,不能用做標識符:arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。 另外,還有三個詞雖然不是保留字,可是由於具備特別含義,也不該該用做標識符:Infinity、NaN、undefined。
五、 可選的分號
JavaScript使用分號(;)將語句分隔開。
注意:JavaScript並非在全部換行處都填補分號,只有在缺乏了分號就沒法正確解析代碼的時候,纔會填補分號。也能夠說,若是當前語句和隨後的非空格字符不能當作一個總體來解析時,JavaScript就在當前語句行結束處填補分號 。好比下面代碼:
var aui
athis
=spa
3
console.log(a)
JavaScript將其解析爲:
var a;a=3;console.log(a);
JavaScript給第一行換行處添加了分號,由於沒有分號,JavaScript就沒法解析代碼var a a。第二個a能夠單獨當作一條語句「a;」,但JavaScript並無給第二行結尾填補分號,由於它能夠和第三行內容一塊兒解析成「a=3」。
上面的代碼解析後是沒有問題的,但是沒有主動添加分號,有些時候會致使意想不到的情形。好比:
var y=x+f
(a+b).toString()
解析後:
var y=x+f(a+b).toString();
若是當前語句和下一行語句沒法合併解析,JavaScript則在第一行後填補分號,這是通用規則,但有兩個例外。
第一個例外是在涉及return、break和continue語句的場景總,若是這三個關鍵字後緊跟換行,JavaScript則會在換行處填補分號。
例如:
return
true;
JavaScript會解析成:
return; true;
第二個例外是在涉及「++」和「--」運算符的時候。
x
++
y
將會解析成 「x;++y」,而不是「x++;y」
適當的添加分號,可避免意想不到的錯誤。