我正在向一个数组添加一个匿名函数,并尝试迭代执行其内容的数组。即使有一个简单的测试用例,我也会得到一个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)')
答案 0 :(得分:6)
这是一个函数数组,所以首先需要访问该索引处的函数,然后调用它:
signInFunctions[i]();
答案 1 :(得分:0)
而不是signInFunctions(i);
使用signInFunctions [i] ();