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










