首页 > 代码库 > JavaScript标识符--------命名规则及其保留字

JavaScript标识符--------命名规则及其保留字

JavaScript的两种注释格式:

1.    //这里是单行注释
2.    /*这里是一段注释*/
3.    /*这里是
        *多行注释
        */

标识符命名:

标识符,通俗的讲就是一个名字,可以用来对变量和函数进行命名,例如:

命名变量名:

var luckname=’weille’; //=>luckname就是这个变量luckname的标识符

命名函数名:

function facename()
{
//=>facename就是这个函数facename的标识符 }

命名规则:

1.必须要以字母、下划线(_)或者美元符($)开始

2.后续的字符可以使字母、数字、下划线、或美元符

注意:数字是不允许作为首字符出现

例如:

I                     //字母开头 

my_variable_name  //字母开头 

_dumy                //下划线开头

$str                  //美元符开头

 

保留字:

 

和任何编程语言一样,JavaScript保留了一些标识符为自己用,而这些保留字就不能用做标识符了。

通常,JavaScript把一些标识符拿出来用作关键字,而这些关键字是不能用做标识符的

比如:

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

而以下关键字中在目前版本的语言中并没有使用的,但还是不能用做标识符

比如:

class    const    enum    export    extends    import    super

注意的是:

有一些关键字严格来说也是保留字,但不排除在普通的JavaScript代码中是合法存在的,

比如:

implements    let            private      public    yield
interface     package        protected    static

而严格模式同样对下面标识符做了严格限制,它们并不完全是保留字,却不能用做变量名、函数名或参数名

比如:

arguments    eval

ECMAScript3将Java的所有关键字都列为自己的保留字,但有些语言版本放宽了限制(比如:ECMAScript5),

为了更好地基于ECMAScript3实现的解释器上运行的话,还是要避免下面关键字作为标识符

比如:

abstract     double      goto          native       static
boolean      enum        implements    package      super
byte         export      import        private      synchronized
char         extends     int           protected    throws
class        final       interface     public       transient
const        float       long          short        volatile

 

另外JavaScript预定义了许多全局变量和函数,而这些都是不能用做变量名和函数名的(标识符),

比如:

Arguments              encodeURI             Infinity     Number            RegExp
Array                  encodeURIComponent    isFinite     Object            String
Boolean                Error                 isNaN        parseFloat        SyntaxError
Date                   eval                  JSON         parseInt          TypeError
decodeURI              EvalError             Math         RangeError        underfined
decodeURIComponent     Function              NaN          ReferenceError    URIError