如何编写add函数,以便我们可以将其称为

add(3,5);
// and
add(3)(5);


在JavaScript中?

最佳答案

这是基于我的原始评论的解决方案。顺便说一下,我看到那里的每个人都有相同的想法(返回一个function对象。)。

var add = (function(x, z) {
    return (typeof(z) !== "undefined") ? x + z : function(y) { return x + y; }
});

var value = add(3)(5);
alert(value); // 8

value = add(3, 5);
alert(value); // 8


如果您的问题的最初目标是关于curring,那么我使用JavaScript找到了一个有趣的文档:https://medium.com/@kbrainwave/currying-in-javascript-ce6da2d324fe

关于javascript - 无法在JavaScript中编写添加方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25449933/

10-12 03:25
查看更多