当前位置: 代码迷 >> Web前端 >> 各浏览器中中关键字作为对象属性的区别
  详细解决方案

各浏览器中中关键字作为对象属性的区别

热度:119   发布时间:2012-11-03 10:57:42.0
各浏览器中中关键字作为对象属性的差异

最近记录了各种各样的标识符 “同名” 现象,有 Javascript中同名标识符优先级 和 表单中有name为action的元素时,取form的属性action杯具了 。

最近又碰到一个,后台同事返回了如下的JSON结构:

{default:{name:'jack'}}


在IE6/7/8中出错了,调试了很久才发现原因。

细心的朋友获取已经发现了,default不是JS的关键字吗?可以作为属性吗?有的或许绝对的说当然不行。

测试下:

var obj = {default:555};
alert(obj.default);

?
可看到在IE6/7/8/Safari/Opera中提示语法错误,无法正常运行。但IE9beta/Firefox/Chrome则弹出了“555”,正常。

如果改成[]方式获取,各浏览器表现同上。

虽然在IE9beta/Firefox/Chrome中关键字可作为对象属性,但坚决杜绝此类写法...

?

?

?

?

  相关解决方案