向数组添加函数

时间:2014-11-19 18:06:59

标签: javascript jquery arrays

此代码将函数添加到数组中:

    var fArr = []
    fArr.push(test())
    fArr.push(test())

    function test(){
        console.log('here')
    }

但是,每次将函数添加到数组test()

时,都会调用函数fArr

可以在不调用函数的情况下将函数test()添加到数组fArr吗?

我正在尝试用函数填充数组fArr,然后迭代fArr并调用函数,而不是调用函数,因为它们被添加到fArr当前行为。

小提琴:http://jsfiddle.net/3fd83oe1/

2 个答案:

答案 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'