闭包编译器错误:JSC_NOT_A_CONSTRUCTOR

时间:2014-09-02 16:21:44

标签: javascript optimization google-closure-compiler

我正在玩闭包编译器并输入以下代码:

var obj = (function() {
  function H(a) {
    this.a = a
  }
  var h = new H(1);
  h.b=1
  return h
})();

我想知道它是否会将其转换为:

var obj = (function() {
  function H(a) {
    this.a = a;
    this.b = 1
  }
  var h = new H(1);
  return h;
})();

但我得到了这个错误 JSC_NOT_A_CONSTRUCTOR: cannot instantiate non-constructor at line 6 character 8 var h = new H(1);

我做错了什么?

1 个答案:

答案 0 :(得分:5)

你必须通过@constructor告诉CC该函数是一个构造函数:

/**
 * Makes an H.
 * @constructor
 */
function H() {
  ...
}