JavaScript命名——name不能做变量名

使用name作为变量名(var name = ‘’),在IE中未引起bug,在Chrome中引起bug但未明确指出命名错误,而是会报其他错误,故不便于发现。

 

现象原因:

javascript中name既不是保留字,也不是关键字,因此用作变量时并不会报错;但是在Firefox、Safari、Chrome和Opera中都给函数定义了一个非标准的name属性,通过这个属性可以访问到给函数指定的名字,因此在这些浏览器中不能使用name作为变量名。

function functionName(arg0, arg1, arg2){

  //函数体

}

//只在Firefox、Safari、Chrome和Opera有效

alert(functionName.name); // "functionName"

会报错或造成一些错误的命名

  • 保留字
  • 关键字
  • JavaScript对象、属性和方法
  • Java保留关键字(Java可以和JavaS一起使用)
  • Windows保留关键字
  • HTML事件句柄
  • 非标准JavaScript

具体内容请看:http://www.runoob.com/js/js-reserved.html

 

posted @ 2017-07-06 16:36  JJ聆听  阅读(3234)  评论(0编辑  收藏  举报