问题如下:
create a sum function, and the requirement:
sum(1,2).result === 3
sum(1,2)(3).result == 6
sum(1,2)(3,4).result == 10
sum(1,2)(3,4)(5).result == 15
这是一个关于 JS 柯里化的问题。我已经实现了这个问题的大部分功能。棘手的一点是 .result 对我来说。
sum(1,2) 之后的 .result 是什么意思?是属性吗?
如何将 .result 添加到我的代码中?
function sum(){
var count = 0;
for(let i=0; i<arguments.length; i++){
count += arguments[i];
}
var tmp = function(){
for(let i=0; i<arguments.length; i++){
count += arguments[i];
}
return tmp;
}
tmp.toString = function(){
return count;
}
return tmp;
}
console.log(sum(1,2))
console.log(sum(1,2)(3))