1. 程式人生 > >第三章 基本概念

第三章 基本概念

yield 可能 兼容 分享 style 代碼 3.1 規則 3.3

3.1 語法

  區分大小寫:ECMAScript 中的一切(變量、函數名和操作符)都區分大小寫。

  標識符:標識符可以是按照下列格式規則組合起來的一或多個字符:

  ? 第一個字符必須是一個字母、下劃線(_)或一個美元符號($);
  ? 其他字符可以是字母、下劃線、美元符號或數字。

  按照慣例,ECMAScript 標識符采用駝峰大小寫格式,也就是第一個字母小寫,剩下的每個單詞的首字母大寫。

  不能把關鍵字、保留字、true、false 和null 用作標識符。

  註釋:ECMAScript 使用C 風格的註釋,包括單行註釋和塊級註釋。單行註釋以兩個斜杠開頭,如下所示:

//單行註釋

  塊級註釋以一個斜杠和一個星號(/*)開頭,以一個星號和一個斜杠(*/)結尾,如下所示:

/*
* 這是一個多行
* (塊級)註釋
*/

  嚴格模式:ECMAScript 5 引入了嚴格模式(strict mode)的概念。嚴格模式是為JavaScript 定義了一種不同的解析與執行模型。在嚴格模式下,ECMAScript 3 中的一些不確定的行為將得到處理,而且對某些不安全的操作也會拋出錯誤。要在整個腳本中啟用嚴格模式,可以在頂部添加如下代碼:

"use strict";

  在函數內部的上方包含這條編譯指示,也可以指定函數在嚴格模式下執行:

function doSomething(){
"use strict";
//函數體
}

  語句:ECMAScript 中的語句以一個分號結尾;如果省略分號,則由解析器確定語句的結尾。雖然語句結尾的分號不是必需的,但我們建議任何時候都不要省略它。因為加上這個分號可以避免很多錯誤。

var sum = a + b // 即使沒有分號也是有效的語句——不推薦
var diff = a - b; // 有效的語句——推薦

  

  可以使用C 風格的語法把多條語句組合到一個代碼塊中,即代碼塊以左花括號({)開頭,以右花括號(})結尾:

if (test){
test = false;
alert(test);
}

  

  雖然條件控制語句(如if 語句)只在執行多條語句的情況下才要求使用代碼塊,但最佳實踐是始終在控制語句中使用代碼塊——即使代碼塊中只有一條語句,例如:

if (test)
alert(test); // 有效但容易出錯,不要使用
if (test){ // 推薦使用
alert(test);
}

3.2 關鍵字和保留字

  關鍵字也是語言保留的,不能用作標識符。以下就是ECMAScript的全部關鍵字(帶*號上標的是第5 版新增的關鍵字):

技術分享圖片

  ECMA-262 還描述了另外一組不能用作標識符的保留字。盡管保留字在這門語言中還沒有任何特定的用途,但它們有可能在將來被用作關鍵字。以下是ECMA-262 第3 版定義的全部保留字:

技術分享圖片

技術分享圖片

  let 和yield 是第5 版新增的保留字;其他保留字都是第3 版定義的。為了最大程度地保證兼容性,建議讀者將第3 版定義的保留字外加let 和yield 作為編程時的參考。

一般來說,最好都不要使用關鍵字和保留字作為標識符和屬性名,以便與將來的ECMAScript 版本兼容。除了上面列出的保留字和關鍵字,ECMA-262 第5 版對eval 和arguments 還施加了限制。在嚴格模式下,這兩個名字也不能作為標識符或屬性名,否則會拋出錯誤。

3.3 變量

第三章 基本概念