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