JavaScript - 保留关键字



JavaScript 中的保留关键字

JavaScript 中的保留关键字是预定义的关键字,用于为编程语言的内置功能提供服务。例如,varlet 关键字用于定义变量,function 关键字用于定义函数等。JavaScript 包含 50 多个保留关键字。

简单来说,不能将保留关键字用作标识符。如果这样做,将会发生冲突,代码将生成错误的输出或抛出错误。

例如,以下代码将抛出错误,因为“function”用作标识符。

var function = "Hello";

保留关键字

以下是保留关键字列表;不能将它们用作标识符 -

abstract doubleimplements return
argumentselse in switch
await enum instanceof synchronized
boolean eval int this
break export interface throw
byte extends let throws
case false long transient
catch final native true
char finally new try
class float null typeof
const for package var
continue function private void
debugger goto protected volatile
default if public yield
delete implements short while
do import static with
double in super

ES5 和 ES6 中添加的保留关键字

在 ES5 和 ES6 版本的 JavaScript 中添加了一些新的关键字。但是,有些目前正在使用,有些关键字为将来的版本保留。

await class enum export
extends import let Super

已删除的保留关键字

一些保留关键字已从 JavaScript 中删除,不能使用它们来实现特定的功能。但是,仍然不能将以下关键字用作标识符,因为许多浏览器不支持它们。

abstract boolean byte char
double final float goto
int long native short
synchronized throws transient volatile

JavaScript 对象、属性和方法

不应将 JavaScript 内置对象、属性和方法名称用作标识符。

JavaScript 内置对象

Array ArrayBuffer Boolean DataView
Date Error eval Float32Array
Float64Array Function Generator GeneratorFunction
Int8Array Int16Array Int32Array Intl
JSON Map Math Number
Object Promise Proxy RangeError
ReferenceError Reflect RegExp Set
String Symbol SyntaxError TypeError
Uint8Array Uint8ClampedArray Uint16Array Uint32Array
URIError WeakMap WeakSet

JavaScript 内置属性

length constructor prototype __proto__ caller callee

JavaScript 方法

toString shift indexOf split
toLocaleString unshift lastIndexOf substr
valueOf slice includes substring
toLocaleDateString splice isArray toLowerCase
toLocaleTimeString sort from toLocaleLowerCase
toLocaleString forEach of toUpperCase
toFixed map charAt toLocaleUpperCase
toExponential filter charCodeAt trim
toPrecision reduce codePointAt startsWith
concat reduceRight normalize endsWith
join every repeat match
pop some replace test
push find search reverse
findIndex slice

但是,可以探索更多 JavaScript 内置方法,并避免将它们用作标识符。

其他保留关键字

JavaScript 可以与其他编程语言(如 HTML、Java 等)一起使用。因此,您也应该避免使用 HTML、Java 等中保留的关键字。

以下是其他保留关键字的列表,其中大部分是“window”对象的属性。

alert elements frameRate radio
all embed hidden reset
anchor embeds history screenX
anchors encodeURI image screenY
area encodeURIComponent images scroll
assign escape offscreenBuffering secure
blur event open select
button fileUpload opener self
checkbox focus option setInterval
clearInterval form outerHeight setTimeout
clearTimeout forms outerWidth status
clientInformation frame packages submit
close innerHeight pageXOffset taint
closed innerWidth pageYOffset text
confirm layer parent textarea
constructor layers parseFloat top
crypto link parseInt unescape
decodeURI location password untaint
decodeURIComponent mimeTypes pkcs11 window
defaultStatus navigate plugin document
navigator prompt element frames
propertyIsEnum

HTML 事件处理器

您不应该在 JavaScript 中使用 HTML 事件处理器作为变量名。

这里,我们列出了一些事件处理器。

onclick ondblclick onmouseover onmouseout
onmousemove onkeydown onkeyup onkeypress
onfocus onblur onchange onsubmit
onreset onload onunload onresize
onscroll

简而言之,您应该避免将以上所有关键字用作变量或函数名。

广告