0_0 保留字

引自《 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 运行环境(客户端、服务器端等)都有自己的有一个全局属性的列表,当然你用全拼音字母命名法无敌好吧~

猜你喜欢

转载自www.cnblogs.com/Orcim/p/10294321.html