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