A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 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


  点击查看更多精彩前端资源
点击有惊喜



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马