JavaScript 中的保留关键字
JavaScript 中的 reserved 关键字是用于提供编程语言的内置功能的预定义关键字。例如,var 和 let 关键字用于定义变量,function 关键字用于定义函数,等等。JavaScript 包含超过 50 个保留关键字。
简单来说,您不能将保留关键字用作标识符。如果这样做,则会出现冲突,并且代码将生成错误的输出或引发错误。
例如,下面的代码将引发错误,因为 'function' 被用作标识符。
var function = "Hello";
保留关键字
这是保留关键字的列表;您不能将它们用作标识符 -
abstract | double | implements | 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 |
简而言之,您应该避免将上述所有关键字用作变量或函数名称。