第一張 詞法結構
1.1 字符集
(1) Javascript程序是用Unicode字符集編寫的;javascript是嚴格區分大小寫的語言。
(2) Javascript會忽略程序中的標識之間的空間和換行符,Unicode轉移序列,使用6個ASCII字符來代表任意16位Unicode內碼。這些轉移序列均以\u爲前綴,其後跟隨4個十六進制數。
如:“cafe”==“caf\uooe9”
(3) Unicode標準化:爲所有字符定義了一個首選的編碼格式,並給出了一個標準的處理方式將文本轉換爲一種適合比較的標準格式,javascript會從認爲它正在解析的程序代碼已經是這種標準格式,不會在對其標識符,字符串或正則表達式做標準化處理。
1.2 註釋
// 單行註釋
/*和*/之間爲文本註釋
1.3 直接量
所謂直接變量就是程序中直接使用的數據值;
1.4 標識符和保留字
(1) 標識符就是一個名字。Javascript中,標識符用來對變量和函數進行命名,或者用做javascript代碼中某些循環語句的跳轉位置標記。
(2) Javascript中標識符規範:必須以字母,下劃線或者美元符開始,後面的字符可以是字母,數字,下劃線或美元符。
(3) 注意:javascript允許標識符中出現Unicode字符全集中的字母和數字,因此程序員可以使用非英語語言或數學符號來書寫標識符。
(4) Javascript把一些標識符拿出來用做自己的關鍵字,因此,就不能再在程序中把這些關鍵字用作標識符了。
(5) Javascript的具體實現可能定義獨有的全局變量和函數,每一種特定的javascript運行環境都有自己的一個全局屬性列表。
1.5 可選的分號
(1) 在javascript中,如果語句各自獨立佔一行,通常可以省略語句之間的分號(程序結尾或右花括號的分號),之前的的分號也可以省略
(2) 注意:javascript並不是在所有換行處都填補分號,只有在缺少了部分分號就無法正確解析代碼的時候纔會填補分號。
(3) 例外1:在涉及return,break和continue語句的場景中,如果這三個關鍵字後緊跟換行,javascript則會在換行處填補分號。例如:
Return
True;
Javascript會解析成return;true;
而代碼的本意是:
Return true;
所以,在這三個關鍵字和隨後的表達式之間不能有換行。如果添加了換行,程序則只有再及特殊的情況下才會報錯,而且程序的調試非常不方便。
例外2:在涉及“++”和“--”的時候,這些可以作爲表達式的前段,也可以作爲表達式的後端,如果作爲後綴表達式,他和表達式應當在同一行,否則,行尾填補分號,同時,這兩個符號將會作爲下一行代碼的前綴操作符並與之一起解析。