实现 如下效果
add(2,3,4).sumOf()
add(2)(3,4).sumOf() // 9
add(2)(3)(4).sumOf()
add(2,3)(4).sumOf()
function add() {
let a = [...arguments];
function fun() {
a = [...a, ...arguments];
return fun;
}
fun.sumOf = () => {
return a.reduce((pre, cur) => pre + cur, 0)
}
return fun;
}
主要应用arguments 和 闭包,也叫函数柯里化
网友评论