我尝试使用"for“作为对象属性名。它似乎在IE7、IE8、火狐、Chrome和Opera上运行良好,但显然在Safari上就不行了。
我的理解是ECMAScript 5允许它(正如JavaScript keywords in hash keys中所讨论的)。
我可以在某个地方获得支持/不支持它的浏览器的明确列表吗?
编辑:实际上,CoffeeScript对保留字属性名称的自动字符串化让我相信它是有效的。在重新测试之后,它似乎在任何地方都不能正常工作,所以现在的问题是:是否有任何浏览器可以按照ECMAScript 5规范来支持它?
发布于 2011-03-21 03:59:13
下面的表格显示了浏览器对ECMAScript 5功能的支持:http://kangax.github.com/es5-compat-table/
保留字可以用作IE9、火狐3.5+和Chrome 7+、Safari 5.1+中的属性名称。
发布于 2011-08-12 13:48:44
经过研究,我认为我可以证明使用保留字作为属性名称(如果使用一些常识)是无害的,无论是在obj['name']
还是obj.name
语法中。
https://stackoverflow.com/questions/5306315
复制相似问题