说我有一个
function value(num) {
var numHolder = [];
numHolder.push(num);
console.log(num);
}
我有不同编号的按钮,每个按钮都使用每个按钮的不同参数来调用函数。例如,数字1按钮将调用为
onclick="value(1)"
2号按钮将调用为
onclick="value(2)"
如何在不使numHolder数组成为全局数组的情况下将这些值保存在numHolder数组中?
最佳答案
使用IIFE创建闭合
// `value` is initialised but undefined here (can be referenced because of `var`)
// ..
var value = (function (numHolder) { // IIFE creating closure
return function (num) { // function expression to be assigned to `value`
numHolder.push(num);
console.log(num);
// `numHolder` accessible here
};
// `numHolder` accessible here
}([])); // initial value for `numHolder`
// `value` is fully defined here
关于javascript - 每次单击按钮时将参数保存在数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31900201/