closure编译器和Prototype.js:危险地使用它

时间:2013-08-30 18:06:33

标签: javascript prototypejs google-closure-compiler

我写了一些依赖Prototype.js的javascript代码。

Prototype.js定义类的方法如下:

var Person = Class.create({
  initialize: function(name) {
    this.name = name;
  },
  say: function(message) {
    return this.name + ': ' + message;
  }
});

传递给Class.create的所有密钥都会添加到Person.prototype。有了这个机制,Prototype.js就能够提供继承。 [link]


Closure编译器现在抱怨,因为它认为那些initializesay函数“既不是原型方法也不是标记为构造函数”。 [link, check: JCS_UNSAFE_THIS]

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

虽然不是一个完全重复的问题,但答案是。

参考John对reformat javascript to accommodate google-closure-compiler's namespace flattening

的回答