将参数传递给添加到 List 的函数
Passing a parameter to a function that is added to a List
在下面的代码中,我试图将函数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
的函数?
您没有向数组添加函数。您正在调用该函数,并将其返回的内容添加到数组中。但是该函数不返回任何内容,因此您将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);
}
附言:改掉在陈述末尾省略;
的坏习惯。
错误在这里:fArr[i](param)
.您从未初始化过变量 param
。您确定不想使用param1
吗?
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 传递List
作为Javascript函数的参数 - jqGrid - TypeError: “#List”.jqGrid 不是一个函数
- 传递List
从代码隐藏到Javascript函数中使用 - 将 python list 传递给 javascript 函数
- Vue.js uncatch TypeError:this.list.$remove 不是一个函数
- 将参数传递给添加到 List 的函数
- TypeError:this.list.push不是ecmascript 6中的函数
- CouchDB在_changes上运行一个list函数
- AngularJS将字符串从ng-repeat List传递给前端函数
- 使用list.js(搜索函数)搜索HTML表-修改以显示所有不包括搜索词的行
- 使用Sench Touch List itemTpl中的成员函数
- 传递一个List类型的参数给Javascript函数
- 每隔X秒更新listTicker函数中的list属性
- TypeError: $(. .).jqGrid不是一个函数:'Student List Loading via