Javascript - 标识符

在javascript中,在所有的可以由我们自主命名的都可以称为是标识符,例如:变量名、函数名、属性名都属于标识符;

命名规则

  • 标识符中可以含有字母 、数字 、下划线_ 、$符号;
  • 标识符不能以数字开头;
  • 标识符不能是ES中的关键字或保留字;
  • 标识符一般都采用驼峰命名法;
  • javascript底层保存标识符时实际上是采用的Unicode编码,理论上讲,所有的utf-8中含有的内容都可以作为标识符;

标识符解析

识符解析是沿着作用域链一级一级地搜索标识符的过程。搜索过程始终从作用域链的前端开始,然后逐级地向后回溯,直到找到标识符为止。

  • 如果局部环境中存在着同名标识符,就不会使用父环境中的标识符;
  • 如果找不到标识符,表示标识符尚未声明,通常会导致错误发生;

关键字和保留字

ECMA-262描述了一组具有特定用途的关键字,这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScript的全部关键字:


关键字.png

ECMA-262还描述了另外一组不能用作标识符的保留字。尽管保留字在这门语言中还没有任何特定的用途,但他们有可能在将来被用作关键字。以下是EMCA-262第三版定义的全部保留字:


保留字.png

第5版把在非严格模式下运行时的保留字缩减为下列这些:


非严格模式.png

在严格模式下,第5版还对以下保留字加了限制:


严格模式下.png

除了上面列出的关键字和保留字,ECMA-262第5版对eval和arguments还施加了限制。在严格模式下,这两个名字也不能作为标识符或属性名,否则会抛出错误。

无论是在严格模式下还是在非严格模式下,都不要在定义变量名、函数名或者属性名时使用上面列举出的保留字,以免入坑。

你可能感兴趣的:(Javascript - 标识符)