第6题(2019-07-29):实现一个函数add,满足下列输出结果
qappleh opened this issue · comments
Rock commented
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
Rock commented
答案:
function add(){
var args = [...arguments];
var fn = function(){
args.push(...arguments);
return fn;
}
fn.tostring = function(){
return args.reduce((x,y) => x + y)
}
return fn;
}
console.log(add(1,2)); // 3
console.log(add(1)(2)); // 3
console.log(add(1)(2)(3)); // 6
console.log(add(1,2,3)(4)); // 10
boy commented
不知道哪里出错了,控制台的结果输出的是一个fn函数