JavaScript 保留词
JavaScript 保留词即关键词,是事先定义的,有特别意义的标识符。如果用这些词作为定义变量、标记或函数名,就会出现问题。本章节罗列了 JavaScript 以及其他会涉及影响到的关键词。
JavaScript 保留词
在 JavaScript 中,您不能把这些保留词作为变量、标记或函数名来使用:
abstract | arguments | await | 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 |
用星号标记的关键词是 ECMAScript 5 和 6 中的新词。
您可以在 JS 版本中阅读更多有关不同 JavaScript 版本的内容。
被删除的保留词
以下保留词已被从 ECMAScript 5/6 标准中删除:
abstract | boolean | byte | char |
double | final | float | goto |
int | long | native | short |
synchronized | throws | transient | volatile |
请不要将这些保留词用作变量。并非所有浏览器都完全支持 ECMAScript 5/6。
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 |
其他保留词
JavaScript 能够在很多应用程序中被用作编程语言。您还应该避免使用 HTML 和 Window 对象和属性的名称:
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 事件处理程序的名称。例如:
onblur | onclick | onerror | onfocus |
onkeydown | onkeypress | onkeyup | onmouseover |
onload | onmouseup | onmousedown | onsubmit |