Extjs4 Ext.创建已实例化的返回类

Extjs4 Ext.创建已实例化的返回类,extjs4,Extjs4,我通过Ext.define(…和Ext.create(…)使用extjs类对象。当我在另一个类中存储了多个类实例时,我看到一些奇怪的行为:这些类不是唯一的,看起来Ext.create正在返回我以前的实例化 签出我的问题的JSFIDLE。确保您在浏览器中查看控制台日志以查看输出和奇怪之处。您正在Ext.define中设置数组。这意味着您正在设置对象的原型,该原型在类的所有实例之间共享。因此,这不是意外行为。创建构造函数中的数组,如下所示: Ext.define ('Sunglasses', {

我通过
Ext.define(…
Ext.create(…
)使用extjs类对象。当我在另一个类中存储了多个类实例时,我看到一些奇怪的行为:这些类不是唯一的,看起来
Ext.create
正在返回我以前的实例化


签出我的问题的JSFIDLE。确保您在浏览器中查看控制台日志以查看输出和奇怪之处。

您正在
Ext.define
中设置数组。这意味着您正在设置对象的原型,该原型在类的所有实例之间共享。因此,这不是意外行为。创建构造函数中的数组,如下所示:

Ext.define ('Sunglasses', {
    brand : '',

    constructor : function (args) {
        this.lenses = [];
        this.brand = args.brand;
    },
    addLenses : function (lenses) {
        this.lenses.push (lenses);
    }    
});