实现一个sum函数,可以sum(1, 2),也可以sum(1)(2)...
function sum() {
const args1 = [...arguments];
const rSum = function() {
const args2 = [...arguments];
return sum.apply(null, args1.concat(args2));
}
rSum.toString = function() {
return args1.reduce((a, b) => a + b);
}
return rSum;
}
有一个问题,为什么我webstorm上用node启动输出的是{ [Function: rSum] toString: [Function] },但是控制台却能够正确输出呢?