我正在尝试制作一个保留状态但被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/