我正在尝试创建一个保存状态但使用 foo() 调用的函数。
可能吗?
最佳答案
我相信这就是你想要的:
var foo = (function () {
var state = 0;
return function () {
return state++;
};
})();
或者,关注 the Wikipedia example :
var makeAccumulator = function (n) {
return function (x) {
n += x;
return n;
};
};
var acc = makeAccumulator(2);
alert(acc(2)); // 4
alert(acc(3)); // 7
JavaScript 是其中一种语言,恕我直言,对作为一等公民的功能提供了出色的支持。
关于javascript - 是否有可能在 JavaScript 中创建仿函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1124645/