创建createjs对象的新实例每次都返回相同的实例

时间:2013-10-07 00:33:08

标签: javascript easeljs createjs

我有一个奇怪的问题。我有一个扩展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。

我不确定我在这里遇到了什么会导致这种情况发生?

1 个答案:

答案 0 :(得分:0)

我错过了M.initialize方法中的一个简单的行:

this.Container_initialize();

解决了问题!