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 的組成部分。建議:不要使用它。