引自《 JavaScript 权威指南》2.4 / P28 ~ 29 保留字 部分
保留字
JavaScript 把一些标识符拿出来用作自己的关键字。因此,就不能再在程序中把这些关键字用作标识符了:
1
2
3
4
5
6
break
delete
function
return
typeof
case
do
if
switch
var
catch
else
in
this
void
continue
false
instanceof
throw
while
debugger
finally
new
true
with
default
for
null
try
ES 5 保留了这些关键字,关键字在 ES 6 中已经使用:
1
class
const
enum
export
extends
import
super
严格模式下是保留字:
1
2
3
4
5
implements
let
private
public yield
interface
package
protected
static
// 严格模式同样对以下标识符的作用做了严格限制,它们并不完全是保留字,但不能用作变量名、函数名或参数名:
arguments
eval
ES 3 中 将 Java 的所有关键字都列为自己的保留字,尽管以下这些保留字在 ES 5 中放宽了限制,但如果你希望代码能在基于 ES 3 实现的解释器上运行的话,应当避免使用这些关键字作为标识符(下面我好像都没作为变量名用过):
1
2
3
4
5
6
abstract
double
goto
native
static
boolean
enum
implements
package super
byte export import private synchronized
char extends int protected throws
class finally interface public transient
const float long short volatile
JS 中的一些预定义的全局变量名以及函数,应当避免把它们的名字用做变量名和函数名(普通 IDE 应该都有 Highlight 提示,不用担心,而且下面的名字都耳熟能详了吧,注意大小写就是了):
1
2
3
4
5
6
arguments
encodeURI
Infinity
Number
RegExp
Array
encodeURIComponent
isFinite
Object
String
Boolean
Error
isNaN
parseFloat
SyntaxError
Date
eval
JSON
parseInt
TypeError
decodeURI
EvalError
Math
RangeError
undefined
decodeURIComponent
Function
NaN
ReferenceError
URIError
结束语
写代码自己定义变量名或者函数名的时候还是要根据实际情况来考虑,因为每一种特定的 JavaScript 运行环境(客户端、服务器端等)都有自己的有一个全局属性的列表,当然你用全拼音字母命名法无敌好吧~