講講JS標識符、關鍵字和保留字

講一下 JavaScript 中的幾個簡單的概念,包括標識符、關鍵字和保留字。這些基本概念雖然不能直接提升我們的編程能力,但它們是 JavaScript 的基本組成元素

標識符

標識符(Identifier)就是名稱的專業術語。JavaScript 標識符包括變量名、函數名、參數名和屬性名。

合法的標識符應該注意以下強制規則:

  • 第一個字符必須是字母、下劃線(_)或美元符號($)。
  • 除了第一個字符外,其他位置可以使用 Unicode 字符。一般建議僅使用 ASCII 編碼的字母,不建議使用雙字節的字符。
  • 不能與 JavaScript 關鍵字、保留字重名。
  • 可以使用 Unicode 轉義序列。例如,字符 a 可以使用“\u0061”表示。

示例

在下面示例中,定義變量 a,使用 Unicode 轉義序列表示變量名。

var \u0061 = "字符 a 的 Unicode 轉義序列是 \\0061";
document.write(\u0061);

使用轉義序列不是很方便,一般常用轉義序列表示特殊字符或名稱,如 JavaScript 關鍵字、程序腳本等。

關鍵字

關鍵字就是 ECMA-262 規定的 JavaScript 語言內部使用的一組名稱(或稱爲命令)。這些名稱具有特定的用途,用戶不能自定義同名的標識符。具體說明如表所示。
 

ECMAScript 關鍵字
break delete  if this  while
case do in throw with
catch  else  instanceof  try  
continue  finally  new  typeof  
debugger(ECMAScript 5 新增) for  return  var  
default  function  switch  void  

保留字

保留字就是 ECMA-262 規定的 JavaScript 語言內部預備使用的一組名稱(或稱爲命令)。這些名稱目前還沒有具體的用途,是爲 JavaScript 升級版本預留備用的,建議用戶不要使用。具體說明如表所示。
 

ECMAScript 保留字
abstract  double  goto  native  static
boolean  enum  implements  package  super
byte  export  import  private  synchronized
char  extends  int  protected  throws
class  final  interface  public  transient
const  float  long  short  volatile

ECMAScript 3 將 Java 所有關鍵字都列爲保留字,而 ECMAScript 5 規定較爲靈活。

例如,在非嚴格模式下,僅規定 class、const、enums、export、extends、import、super 爲保留字,其他 ECMAScript 3 保留字可以自由使用;在嚴格模式下,ECMAScript 5 變得更加謹慎,嚴格限制 implements、interface、let、package、private、protected、public、static、yield、eval(非保留字)、arguments(非保留字)的使用。

JavaScript 預定義了很多全局變量和函數,用戶也應該避免使用它們。具體說明如表所示。

JavaScript 預定義全局變量和函數
arguments  encodeURL  Infinity  Number  RegExp
Array  encodeURLComponent  isFinite  Object  String
Boolean  Error  isNaN  parseFloat  SyntaxError
Date  eval  JSON  parseInt  TypeError
decodeURL  EvalError  Math  RangeError  undefined
decodeURLComponent  Function  NaN  ReferenceError  URLError

不同的 JavaScript 運行環境都會預定義一些全局變量和函數,上表列出的僅針對 Web 瀏覽器運行環境。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章