本帖最后由 coral菜菜 于 2018-7-22 17:07 编辑
使用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"。
发现使用typeof name得到 的类型是string。因为name是全局变量,可以在任意浏览器中使用 。 cosole.dir(window)查看。。 console.log(typeof name); 会报错或造成一些错误的命名- 保留字
- 关键字
- JavaScript对象、属性和方法
- Java保留关键字(Java可以和JavaS一起使用)
- Windows保留关键字
- HTML事件句柄
- 非标准JavaScript
点击查看更多精彩前端资源
点击有惊喜
|