//实现一个add功能
function add(a) {
let fn = function(b) {
a = a + b;
return fn;
}
fn.toString = function() {
return a;
}
return fn;
}
add(1); // 1
add(1)(2); // 3
add(1)(2)(3) // 6
add(1)(2)(3)(4) // 10
function add(){
let _outer = [...arguments];
let fn = function(){
let _inner = [...arguments];
return add.apply(null, _outer.concat(_inner));
}
fn.toString = function(){
return _outer.reduce((a,b)=>a+b);
}
return fn;
}
add(1); // 1
add(1)(2); // 3
add(1)(2)(3) // 6
add(1)(2, 3); // 6
add(1, 2)(3); // 6
add(1, 2, 3); // 6
function add(){
let _args = [...arguments];
function sum(){
_args = _args.concat([...arguments]);
return sum;
}
sum.toString = function(){
return _args.reduce((a, b) =>