有一个js保留字here列表。单词" class"被预定了。我有以下代码:
var Foo={
class:function(){
...
}
}
在所有浏览器(opera,ff,chrome,ie9,safari)中,我的代码都没有任何问题(没有错误也没有通知)。现在我需要混淆我的代码。我使用YUI compressor(在java中写)。并排在" class"它显示无效的属性id和语法错误。当我把课程改为clazz时,一切都很好。
所以我的问题 - 是YUI中的错误还是我的代码错了?
答案 0 :(得分:2)
在Hrishi的帮助下,我找到了答案。 YUI使用Rhino 1.7,它是唯一不支持保留字作为属性名称的。见http://kangax.github.io/compat-table/es5/
答案 1 :(得分:1)
从ES-5开始,您可以使用关键字作为属性名称,因此您的代码很好。