0
我把下面的代碼放入封閉的編譯器在高級模式:關閉編譯器將忽略對象突變
var obj = (function() {
/** @constructor */
function H(a) {
this.a = a
}
var h = new H(1);
h.b=1
return h
})();
結果我得到的回覆是:
(function() {
var a = new function() {
}(1);
a.a = 1;
return a;
})();
爲什麼不理我做出改變對象h.b=1
?
嘗試在構造函數中添加'this.b = null'。也許它的優化方式是忽略會導致多個隱藏類的代碼? – plalx 2014-09-02 17:41:56
@plalx我希望看到它添加'this.b = 1'到構造函數。 – qwertymk 2014-09-02 17:46:52
儘管問題本身是有效的,但請注意[不應使用此模式](http://stackoverflow.com/q/10406552/1048572) – Bergi 2014-09-02 18:41:41