JavaScript 保留关键字有哪些?怎么用和避免冲突?

文章导读
Previous Quiz Next JavaScript 中的保留关键字 JavaScript 中的保留关键字是预定义的关键字,用于提供编程语言的内置功能。例如,var 和 let 关键字用于定义变量,function 关键字用于定义函数等。JavaScript 包含超过
📋 目录
  1. A JavaScript 中的保留关键字
  2. B 保留关键字
  3. C ES5 和 ES6 中添加的保留关键字
  4. D 已移除的保留关键字
  5. E JavaScript 对象、属性和方法
  6. F 其他保留关键字
  7. G HTML 事件处理程序
A A

JavaScript - 保留关键字



Previous
Quiz
Next

JavaScript 中的保留关键字

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

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

例如,下面的代码会抛出错误,因为 function 被用作标识符。

var function = "Hello";

保留关键字

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

abstract doubleimplements return
arguments else 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 中添加的保留关键字

JavaScript 的 ES5 和 ES6 版本中添加了一些新关键字。其中一些当前正在使用,有些关键字则为未来版本保留。

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

简而言之,你应该避免将上述所有关键字用作变量或 function 名。