Javascript 简明教程
JavaScript - Reserved Keywords
Reserved Keywords in JavaScript
JavaScript 中的 reserved keywords 是预定义关键字,用于提供编程语言的内建功能。例如, var 和 let 关键字用于定义变量, function 关键字用于定义函数,等。JavaScript 包含多于五十个保留关键字。
The reserved keywords in JavaScript are predefined keywords used to serve the built-in functionality of the programming language. For example, the var and let keywords are used to define variables, the function keyword is used to define the functions, etc. JavaScript contains more that fifty reserved keywords.
简单地说,你不能将保留关键字用作标识符。如果你这样做,你将获得冲突,并且代码将生成错误的输出或抛出错误。
In simple terms, you can’t use the reserved keywords as an identifier. If you do, you will get the conflicts, and the code will generate the wrong output or throw an error.
例如,以下代码将抛出一个错误,因为 "function" 被用作一个标识符。
For example, the below code will throw an error as ‘function’ is used as an identifier.
var function = "Hello";
Reserved Keywords
以下是保留关键字列表;你不能将它们用作标识符——
Here is the list of reserved keywords; you can’t use them as an identifier −
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 |
Reserved Keywords added in ES5 and ES6
一些新的关键字已添加到 ES5 和 ES6 版本的 JavaScript 中。然而,一些当前正在使用,并且一些关键字是为未来版本保留的。
Some new keywords are added in the ES5 and ES6 versions of JavaScript. However, some are currently in use, and some keywords are reserved for future versions.
await |
class |
enum |
export |
extends |
import |
let |
Super |
Removed Reserved Keywords
一些保留关键字已从 JavaScript 中删除,你不能使用它们来实现特定功能。但是,你仍然不能将以下关键字用作标识符,因为许多浏览器不支持它们。
Some reserved keywords are removed from JavaScript, which you can’t use to achieve a particular functionality. Still, you can’t use the keywords below as an identifier as many browsers don’t support them.
abstract |
boolean |
byte |
char |
double |
final |
float |
goto |
int |
long |
native |
short |
synchronized |
throws |
transient |
volatile |
JavaScript Objects, Properties, and Methods
在 Javascript 中不要将内置函数、属性和方法名作为标识符。
You should not use the name of JavaScript built-in objects, properties, and methods names as an identifier.
JavaScript Built-in Objects
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 |
JavaScript Methods
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 |
但是,可以探索更多内置 Javascript 方法,并避免将其作为标识符。
However, you can explore more built-in JavaScript methods and avoid using them as an identifier.
Other Reserved Keywords
Javascript 可以与其他编程语言(如 HTML,Java 等)一起使用。因此,也应避免在 HTML、Java 等语言中保留的关键字。
JavaScript can be used with other programming languages like HTML, Java, etc. So, you should also avoid keywords that are reserved in HTML, Java, etc.
以下列出了其他保留关键字,其中大部分是 window
对象的属性。
Here is the list of other reserved keywords, and most of them are properties of the ‘window’ object.
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 |
HTML Event Handlers
你不应该将 HTML 事件处理程序用作 Javascript 中的变量名称。
You shouldn’t use the HTML even handlers as a variable name in JavaScript.
在此,我们列出了一些事件处理程序。
Here, we have listed some of the event handlers.
onclick |
ondblclick |
onmouseover |
onmouseout |
onmousemove |
onkeydown |
onkeyup |
onkeypress |
onfocus |
onblur |
onchange |
onsubmit |
onreset |
onload |
onunload |
onresize |
总之,你应该避免将所有上述关键字用作变量或函数名。
In short, you should avoid using all the above keywords as a variable or function name.