从javascript循环中对象内部的函数调用函数
我有一个javascript对象,里面有一些函数,我希望我能在循环中调用它们,比如:从javascript循环中对象内部的函数调用函数,javascript,call,Javascript,Call,我有一个javascript对象,里面有一些函数,我希望我能在循环中调用它们,比如: funcs: { func1: function() { return true; }, func2: function() { return false; } } for(func in funcs) { console.log(funcs[func]()); console.log(funcs[func].call()); } 两者都有效。但是你的目标
funcs: {
func1: function() {
return true;
},
func2: function() {
return false;
}
}
for(func in funcs) {
console.log(funcs[func]());
console.log(funcs[func].call());
}
两者都有效。但是你的目标声明是不正确的。它是
var object={/*something*/}代码>
var funcs = {
func1: function() {
return true;
},
func2: function() {
return false;
}
};
for(func in funcs) {
console.log(funcs[func]());
console.log(funcs[func].call());
}
输出
true
true
false
false
您的愿望得到了满足(即代码可以工作),我对其中的哪一个感到好奇->调用()或()都可以工作。不过我不知道有什么区别。它们都可以工作(改为var funcs={…}
)。第二个版本将默认全局对象的上下文,除非对象实例作为第一个参数传入:funcs[func]。调用(funcs)
这里您可以使用for(func in obj.funcs){}
循环什么是obj
?这里没有名为obj
的对象或变量。我在回答一条显然已被删除的评论。