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

creating new instances of createjs object returns the same instance every time

本文关键字:实例 返回 新实例 createJS 创建 对象      更新时间:2023-09-26

我有一个奇怪的问题。我有一个扩展createjs的对象。容器如下所示:

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

每当我尝试在任何地方创建此对象的新版本时,控制台.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。

不确定我在这里有什么错误会发生这种情况?

我从 M.initialize 方法中缺少一个简单的行:

this.Container_initialize();

解决了问题!