我有一个奇怪的问题。我有一个像这样扩展 createjs.Container 的对象:
(function() {
var Door = function(label, color) {
this.initialize(label, color);
}
var M = Door.prototype = new createjs.Container(); // inherit from Container
M.Container_initialize = M.initialize;
M.initialize = function() {
console.log(this);
}
window.Door = Door;
}(window));
每当我尝试在任何地方创建此对象的新版本时,console.log 输出每次都会给我相同的对象。所以如果我这样做:
var door1 = new Door();
var door2 = new Door();
我得到以下控制台输出:
Door {id: 10, _matrix: c, children: Array[0], Container_initialize: function, initialize: function…}
Door {id: 10, _matrix: c, children: Array[0], Container_initialize: function, initialize: function…}
...两者都有相同的ID。
我不确定我在这里做错了什么会导致这种情况发生?