Javascript 将参数传递给添加到列表中的函数
在下面的代码中,我试图将函数测试添加到数组中。功能测试包含参数param1: 如何将参数传递给添加到数组fArr的函数?错误在这里:fArr[I]param。您从未初始化过变量param。Javascript 将参数传递给添加到列表中的函数,javascript,jquery,Javascript,Jquery,在下面的代码中,我试图将函数测试添加到数组中。功能测试包含参数param1: 如何将参数传递给添加到数组fArr的函数?错误在这里:fArr[I]param。您从未初始化过变量param。 确实不想使用param1吗?您没有向数组中添加函数。您正在调用该函数,并将其返回的内容添加到数组中。但是函数不返回任何内容,因此您将未定义的内容推送到数组中 我想你想要的是: var param1 = "param1"; var fArr = []; fArr.push(function() { t
确实不想使用param1吗?您没有向数组中添加函数。您正在调用该函数,并将其返回的内容添加到数组中。但是函数不返回任何内容,因此您将未定义的内容推送到数组中 我想你想要的是:
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);
}
另外,要改掉省略的坏习惯;语句末尾。但是如果参数名为param1,为什么要调用param?fArr[i]不是函数,为什么要调用它?@Barmar testparam1没有解释为函数?如果在函数名后加括号,则表示调用函数,而不是返回函数..push test.bindundefined,param1作为一个替代方案也应该起作用-@birdspider有点不同,因为它不会在变量上创建闭包。啊,是的-我想它在这里也会起作用,因为param1是固定的-谢谢你指出这一点
Uncaught ReferenceError: param is not defined
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);
}