在下面的代码中,我试图将函数test
添加到数组中。函数test
包含参数param1
:
var param1 = "param1"
var fArr = []
fArr.push(test(param1));
for (var i = 0; i < fArr.length; i++) {
fArr[i](param)
}
function test(param){
console.log('param is '+param)
}
当我运行此代码时,我收到错误:
Uncaught ReferenceError: param is not defined
如何将参数传递给添加到数组fArr
的函数?
答案 0 :(得分:3)
您没有向数组添加功能。您正在调用该函数,并将其返回的内容添加到数组中。但该功能不会返回任何内容,因此您需要将undefined
推送到阵列上。
我认为你想要的是:
var param1 = "param1";
var fArr = [];
fArr.push(function() {
test(param1));
});
for (var i = 0; i < fArr.length; i++) {
fArr[i]();
}
function test(param){
console.log('param is '+param);
}
P.S。摆脱在陈述结束时省略;
的坏习惯。
答案 1 :(得分:-1)
错误在于:fArr[i](param)
。您从未初始化变量param
。
您确定不想使用param1
吗?