向数组添加函数

时间:2013-03-30 17:04:24

标签: javascript anonymous-function

我正在向一个数组添加一个匿名函数,并尝试迭代执行其内容的数组。即使有一个简单的测试用例,我也会得到一个TypeError:不是函数。

我错过了一些简单的东西吗?

//an array of functions
var signInFunctions = [];

//add a function to the array
signInFunctions.push(function() {
    console.log("hello world");
});

function userSignedIn() {
    //execute all functions in the signInFunctions array 
    for (var i = 0; i < signInFunctions.length; i++) {
        signInFunctions(i);
    }
}

userSignedIn();

这是错误:

TypeError: 'function () {
console.log("hello world");
}' is not a function (evaluating 'signInFunctions(i)')

2 个答案:

答案 0 :(得分:6)

这是一个函数数组,所以首先需要访问该索引处的函数,然后调用它:

signInFunctions[i]();

答案 1 :(得分:0)

而不是signInFunctions(i);使用signInFunctions [i] ();