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 |
简而言之,您应该避免将上述所有关键字用作变量或函数名称。

