位置:海鸟网 > IT > JavaScript >

各浏览器中中关键字作为对象属性的差异

建站学介绍了各种各样的标识符 “同名” 现象,有 和 。

最近又碰到一个,后台童鞋返回了如下的ON结构:


1 {default:{name:'jack'}}
在IE6/7/8中出错了,调试了很久才发现原因。

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

测试下:


1 var obj = {default:555}; 

2 alert(obj.default);

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

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

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