需要注意的是如果用es6扩展写法reduce那块的代码的改成
_add.toString = function() {
return _args.reduce((c, s) => c + +s, 0);
}
这里的s要做一下转化,本来s是字符串,+s转成Number这样才能对得上,要不然结果会变成字符串拼接比如add(1)(2)(3)得到的是123,而不是6,还有要想console.log的隐式转换生效要这样写console.log("" + add(1)(2)(3))这里为各位看官提供解释说明,希望可以帮到大家,谢谢。
详解JS函数柯里化第一次看到柯里化这个词的时候,还是在看一篇算法相关的博客提到把函数柯里化,那时一看这个词就感觉很高端,实际上当你了解了后才发现其实就是高阶函数的一个特殊用法。 果然是不管作用...