gpt4 book ai didi

javascript - 获取 Sencha 类的所有静态属性

转载 作者:行者123 更新时间:2023-11-30 17:43:16 24 4
gpt4 key购买 nike

有一个定义如下的 Sencha Touch 2 类:

Ext.define("Foo.Bar", {

statics: {

lol: "trololol",

/* ... many others ... */

asd: "trololol"

}

});

如果我 console.log('%o', Foo.Bar); 我得到以下输出:

function () {
return this.constructor.apply(this, arguments);
}

如何在不检查所有属性的情况下获得类中所有静态变量的可读表示?

[编辑] 在定义我的类之后,我正在操纵静态,添加一些属性或修改它们的内容,所以我需要一个在应用程序执行中的给定时间工作的解决方案,给我类的所有静态属性和他们的值(value)观。

最佳答案

您可以像这样获取现有的属性名称:

console.log(Ext.Object.getKeys(Foo.Bar));

然后您可以优化此概念以获得更具可读性和/或有用的输出。例如:

function getStatics(cls, includeFunctions, includeProto) {
var isFunction = Ext.isFunction,
o = {},
v;
Ext.each(Ext.Object.getKeys(Foo.Bar), function(key) {
if (includeProto || cls.hasOwnProperty(key)) {
v = cls[key];
if (includeFunctions || !isFunction(v)) {
o[key] = v;
}
}
});
return o;
}

console.log(getStatics(Foo.Bar));

关于javascript - 获取 Sencha 类的所有静态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20630807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com