gpt4 book ai didi

javascript - 函数名作为对象值

转载 作者:行者123 更新时间:2023-11-30 08:08:33 27 4
gpt4 key购买 nike

我需要根据不同的情况有选择地运行几个函数。我有一个像这样的基本对象:

object = {
whatever : {
objects : null
},
something : {
objects : // some object
}
};

我需要遍历对象值,如果 objectsnot null,我需要运行特定函数。如果 whatever.objects 不为空,我需要运行 whateverFunction();。如果 something.objects 不为空,我需要运行 somethingFunction();

for( i in object )
{
if ( object[i].objects )
// run a certain function
}

根据对象中的值运行这些任意命名的函数的最佳方法是什么?我可以将“要运行的函数”的名称存储在对象中并 eval() 它,但我想尽量避免求值。

创建一个类对象是否更有意义,每个类对象都有自己要运行的函数?如果是这样,我该怎么做?

最佳答案

object = {
whatever : {
objects : null,
func : whateverFunction
},
something : {
objects : // some object,
func : somethingFunction
}
};

for (var i in object) {
if (object[i].objects) {
objects[i].func();
}
}

函数本身就是可以传递和存储的对象。无需存储函数名称;存储函数本身。

关于javascript - 函数名作为对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13964925/

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