console.log(sum(1, 2, 3, 4, 5).valueOf())
console.log(sum(1, 2)(3, 4)(5).valueOf())
console.log(sum(1, 2)(3)(4)(5).valueOf())
console.log(sum(1)(2)(3)(4)(5).valueOf())
复制代码
let sum = function () {
let prevSum = [...arguments].reduce((a, b) => a + b)
let result = function () {
return sum(...([...arguments].concat(prevSum)))
}
result.valueOf = function () {
return prevSum
}
return result
}
console.log(sum(1, 2, 3, 4, 5).valueOf())
console.log(sum(1, 2)(3, 4)(5).valueOf())
console.log(sum(1, 2)(3)(4)(5).valueOf())
console.log(sum(1)(2)(3)(4)(5).valueOf())
复制代码
转载于:https://juejin.im/post/5c7e4064e51d451a9e4c2a16