迭代 "statics" 个成员
Iterate on "statics" members
有没有办法迭代静态块中定义的 class 成员?例如,如果我有以下 class 定义:
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]);
没有特定的 API,但您可以通过迭代 class 的属性在代码中轻松完成,例如:
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]])
有没有办法迭代静态块中定义的 class 成员?例如,如果我有以下 class 定义:
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]);
没有特定的 API,但您可以通过迭代 class 的属性在代码中轻松完成,例如:
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]])