使用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