2014-09-02 2 views
2

Я играл с закрывающей компилятором и поставить в этом коде:Closure Compiler Error: JSC_NOT_A_CONSTRUCTOR

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);

Что я делаю неправильно?

ответ

5

Вы должны сказать CC, что функция является конструктором с помощью @constructor:

/** 
* Makes an H. 
* @constructor 
*/ 
function H() { 
    ... 
} 
Смежные вопросы