建站学介绍了各种各样的标识符 “同名” 现象,有 和 。
最近又碰到一个,后台童鞋返回了如下的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中关键字可作为对象属性,但坚决杜绝此类写法...