我试图迭代对象的每个成员。对于每个成员,我检查它是否是一个函数。如果它是一个函数,我想获取它的名称并根据函数的名称执行一些逻辑。我不知道这是否可能。是吗?有小费吗?
example:
var mems: Object = getMemberNames(obj, true);
for each(mem: Object in members) {
if(!(mem is Function))
continue;
var func: Function = Function(mem);
//I want something like this:
if(func.getName().startsWith("xxxx")) {
func.call(...);
}
}
我很难找到做这件事的很多东西。谢谢您的帮助。
您的伪代码接近于执行您想要的操作。但是,您可以使用简单的 for..in 循环遍历成员,并使用括号获取成员的值,而不是使用可以获取私有方法的 getMemberNames。例如:
public function callxxxxMethods(o:Object):void
{
for(var name:String in o)
{
if(!(o[name] is Function))
continue;
if(name.startsWith("xxxx"))
{
o[name].call(...);
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)