javascript - 是否有可能在 JavaScript 中创建仿函数?

标签 javascript functional-programming functor

我正在尝试创建一个保存状态但使用 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/

相关文章:

javascript - 使用 https 命名空间时 createElementNS 无法正常工作

javascript - Node js paypal rest sdk 401错误

data-structures - 纯函数式软堆

c++ - C++数据结构的过滤方法

haskell - 树仿函数和可折叠但带有节点。对此有什么概括吗?

javascript - 如何使用 javascript 从图像中获取平均颜色或主颜色?

JavaScript:使用 'this.' 调用函数不引用类中的方法

oop - 相当于在 Haskell 中创建对象

c++ - 尽管需要函数指针,但使用函数对象

haskell - Haskell 递归数据类型的“默认行为”