使用Google Closure将类定义为类型

时间:2011-07-11 19:01:07

标签: javascript google-closure-compiler google-closure

如果我有这样的代码:

var x = {};

/**
 * @constructor 
 * ???
 */
x.MyClass = function() {

};

x.MyClass.prototype = {

   hello: "Hello World",

   /**
    * @return {x.MyClass}
    */
   y: function() {
      console.log(this.hello);
      return this;
   }

};

Closure告诉我这是x.MyClass不是定义的类型。我怎样才能使它成为一个定义的类型?

1 个答案:

答案 0 :(得分:2)

您的示例适用于我,将x.MyClass更改为x.MyClassX会导致错误,但此示例成功。您使用的是什么版本?

http://closure-compiler.appspot.com

// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @warning_level VERBOSE
// ==/ClosureCompiler==

var x = {};

/**
* @constructor
* ???
*/
x.MyClass = function() {

};

x.MyClass.prototype = {

  hello: "Hello World",
  /**
   * @return {x.MyClass}
   */
   y: function() {
      console.log(this.hello);
      return this;
   }
};