JS - 对象内的保留字

时间:2014-12-21 15:31:45

标签: javascript obfuscation

有一个js保留字here列表。单词" class"被预定了。我有以下代码:

var Foo={
   class:function(){
   ...
   }
}

在所有浏览器(opera,ff,chrome,ie9,safari)中,我的代码都没有任何问题(没有错误也没有通知)。现在我需要混淆我的代码。我使用YUI compressor(在java中写)。并排在" class"它显示无效的属性id和语法错误。当我把课程改为clazz时,一切都很好。

所以我的问题 - 是YUI中的错误还是我的代码错了?

2 个答案:

答案 0 :(得分:2)

在Hrishi的帮助下,我找到了答案。 YUI使用Rhino 1.7,它是唯一不支持保留字作为属性名称的。见http://kangax.github.io/compat-table/es5/

答案 1 :(得分:1)

从ES-5开始,您可以使用关键字作为属性名称,因此您的代码很好。