将参数传递给添加到List的函数

时间:2014-11-20 10:48:25

标签: javascript jquery

在下面的代码中,我试图将函数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的函数?

2 个答案:

答案 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吗?