1

如果我有这样的代码:

var x = {};

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

};

x.MyClass.prototype = {

   hello: "Hello World",

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

};

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

4

1 回答 1

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;
   }
};
于 2011-07-11T21:48:26.917 回答