有没有办法迭代静态块中定义的类成员?例如,如果我有以下类定义:
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]);
答案 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]])