此代码将函数添加到数组中:
var fArr = []
fArr.push(test())
fArr.push(test())
function test(){
console.log('here')
}
但是,每次将函数添加到数组test()
fArr
可以在不调用函数的情况下将函数test()
添加到数组fArr
吗?
我正在尝试用函数填充数组fArr
,然后迭代fArr
并调用函数,而不是调用函数,因为它们被添加到fArr
当前行为。
答案 0 :(得分:5)
是的,您可以向数组添加功能。你实际做的是调用函数并将函数调用的结果添加到数组中。你想要的是这个:
fArr.push(test);
fArr.push(test);
答案 1 :(得分:2)
这很简单:
fArr.push(test, test);
var fArr = []
function test() {
return 'here';
}
fArr(test, test);
// > Array [ function test(), function test() ]
// Because test evaluates to itself
fArr(test(), test());
// > Array [ "here", "here" ]
// Because test() evaluates to 'here'