JavaScript 保留關鍵字

在 JavaScript 中,一些識別符號是保留關鍵字,不能用作變數名或函式名。


JavaScript 標準

所有的現代瀏覽器完全支援 ECMAScript 3(ES3,JavaScript 的第三版,從 1999 年開始)。

ECMAScript 4(ES4)未通過。

ECMAScript 5(ES5,2009 年釋出),是 JavaScript 最新的官方版本。

隨著時間的推移,我們開始看到,所有的現代瀏覽器已經完全支援 ES5。


JavaScript 保留關鍵字

Javascript 的保留關鍵字不可以用作變數、標籤或者函式名。有些保留關鍵字是作為 Javascript 以後擴充套件使用。

abstract arguments boolean break byte
case catch char class* const
continue debugger default delete do
double else enum* eval export*
extends* false final finally float
for function goto if implements
import* in instanceof int interface
let long native new null
package private protected public return
short static super* switch synchronized
this throw throws transient true
try typeof var void volatile
while with yield

* 標記的關鍵字是 ECMAScript5 中新新增的。


JavaScript 物件、屬性和方法

您也應該避免使用 JavaScript 內建的物件、屬性和方法的名稱作為 Javascript 的變數或函式名:

Array Date eval function hasOwnProperty
Infinity isFinite isNaN isPrototypeOf length
Math NaN name Number Object
prototype String toString undefined valueOf


Java 保留關鍵字

JavaScript 經常與 Java 一起使用。您應該避免使用一些 Java 物件和屬性作為 JavaScript 識別符號:

getClass java JavaArray javaClass JavaObject JavaPackage


Windows 保留關鍵字

JavaScript 可以在 HTML 外部使用。它可在許多其他應用程式中作為程式語言使用。

在 HTML 中,您必須(為了可移植性,您也應該這麼做)避免使用 HTML 和 Windows 物件和屬性的名稱作為 Javascript 的變數及函式名:

alert all anchor anchors area
assign blur button checkbox clearInterval
clearTimeout clientInformation close closed confirm
constructor crypto decodeURI decodeURIComponent defaultStatus
document element elements embed embeds
encodeURI encodeURIComponent escape event fileUpload
focus form forms frame innerHeight
innerWidth layer layers link location
mimeTypes navigate navigator frames frameRate
hidden history image images offscreenBuffering
open opener option outerHeight outerWidth
packages pageXOffset pageYOffset parent parseFloat
parseInt password pkcs11 plugin prompt
propertyIsEnum radio reset screenX screenY
scroll secure select self setInterval
setTimeout status submit taint text
textarea top unescape untaint window


HTML 事件控制代碼

除此之外,您還應該避免使用 HTML 事件控制代碼的名稱作為 Javascript 的變數及函式名。

例項:

onblur onclick onerror onfocus
onkeydown onkeypress onkeyup onmouseover
onload onmouseup onmousedown onsubmit


非標準 JavaScript

除了保留關鍵字,在 JavaScript 實現中也有一些非標準的關鍵字。

一個例項是 const 關鍵字,用於定義變數。 一些 JavaScript 引擎把 const 當作 var 的同義詞。另一些引擎則把 const 當作只讀變數的定義。

Const 是 JavaScript 的擴充套件。JavaScript 引擎支援它用在 Firefox 和 Chrome 中。但是它並不是 JavaScript 標準 ES3 或 ES5 的組成部分。建議:不要使用它