我正在使用此代码 -
var gArray = (function (value) {
var array = [];
return function () {
array.push(value);
return array;
}
}());
gArray(1);
gArray(2);
gArray(3);
Run Code Online (Sandbox Code Playgroud)
我期待这段代码 [1, 2, 3]
但我得到了 [undefined, undefined, undefined]
该gArray函数没有参数,立即调用的函数可以,但是在调用它时没有传递任何内容:
var gArray = (function (value) { //<- Argument of IIFE
var array = [];
return function () { //<- No arguments for gArray
array.push(value);
return array;
}
}()); //<- No arguments passed to IIFE
Run Code Online (Sandbox Code Playgroud)
你需要的是为返回的函数定义一个参数,它是gArray:
var gArray = (function () {
var array = [];
return function (value) {
array.push(value);
return array;
}
}());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
722 次 |
| 最近记录: |