JavaScript 保留词

JavaScript 保留词即关键词,是事先定义的,有特别意义的标识符。如果用这些词作为定义变量、标记或函数名,就会出现问题。本章节罗列了 JavaScript 以及其他会涉及影响到的关键词。


JavaScript 保留词

在 JavaScript 中,您不能把这些保留词作为变量、标记或函数名来使用:

abstractargumentsawaitboolean
breakbytecasecatch
charclassconstcontinue
debuggerdefaultdeletedo
doubleelseenumeval
exportextendsfalsefinal
finallyfloatforfunction
gotoifimplementsimport
ininstanceofintinterface
letlongnativenew
nullpackageprivateprotected
publicreturnshortstatic
superswitchsynchronizedthis
throwthrowstransienttrue
trytypeofvarvoid
volatilewhilewithyield

用星号标记的关键词是 ECMAScript 5 和 6 中的新词。

您可以在 JS 版本中阅读更多有关不同 JavaScript 版本的内容。


被删除的保留词

以下保留词已被从 ECMAScript 5/6 标准中删除:

abstractbooleanbytechar
doublefinalfloatgoto
intlongnativeshort
synchronizedthrowstransientvolatile

请不要将这些保留词用作变量。并非所有浏览器都完全支持 ECMAScript 5/6。


JavaScript 对象、属性和方法

您还应该避免使用 JavaScript 内置对象的名称、属性和方法:

ArrayDateevalfunction
hasOwnPropertyInfinityisFiniteisNaN
isPrototypeOflengthMathNaN
nameNumberObjectprototype
StringtoStringundefinedvalueOf

Java 保留词

JavaScript 常与 Java 一起使用。您应该避免把某些 Java 对象和属性用作 JavaScript 标识符:

getClassjavaJavaArrayjavaClass
JavaObjectJavaPackage

其他保留词

JavaScript 能够在很多应用程序中被用作编程语言。您还应该避免使用 HTML 和 Window 对象和属性的名称:

alertallanchoranchors
areaassignblurbutton
checkboxclearIntervalclearTimeoutclientInformation
closeclosedconfirmconstructor
cryptodecodeURIdecodeURIComponentdefaultStatus
documentelementelementsembed
embedsencodeURIencodeURIComponentescape
eventfileUploadfocusform
formsframeinnerHeightinnerWidth
layerlayerslinklocation
mimeTypesnavigatenavigatorframes
frameRatehiddenhistoryimage
imagesoffscreenBufferingopenopener
optionouterHeightouterWidthpackages
pageXOffsetpageYOffsetparentparseFloat
parseIntpasswordpkcs11plugin
promptpropertyIsEnumradioreset
screenXscreenYscrollsecure
selectselfsetIntervalsetTimeout
statussubmittainttext
textareatopunescapeuntaint
window

HTML 事件处理程序

此外您应该避免使用所有 HTML 事件处理程序的名称。例如:

onbluronclickonerroronfocus
onkeydownonkeypressonkeyuponmouseover
onloadonmouseuponmousedownonsubmit