迭代"静力学"会员

时间:2018-01-11 22:24:29

标签: qooxdoo

有没有办法迭代静态块中定义的类成员?例如,如果我有以下类定义:

qx.Class.define("app.MyEnumeration", {
    type: "static",

    statics: {
        ENUM_VALUE_1: 1,
        ENUM_VALUE_2: 2,
        ENUM_VALUE_3: 3
    }
}

我可以以某种方式迭代这些成员吗?像这样:

for (var i = 0; i < app.MyEnumeration.statics.length; i++)
    doSomething(app.MyEnumeration.statics[i]);

1 个答案:

答案 0 :(得分:2)

没有特定的API,但您可以通过迭代类的属性在代码中轻松完成,例如:

Object.keys(qx.util.ColorUtil).forEach(function(key) { 
    console.log(key);
});

或者,使用您的示例:

for (var i = 0, arr = Object.keys(app.MyEnumeration); i < arr.length; i++)
    doSomething(app.MyEnumeration[arr[i]])