function add(a){ const sum = (b)=>{ // 使用闭包 a = a+b; return sum ; } sum.toString = ()=>a; // 重写toSting() 方法 return sum; // 返回一个函数 } console.log(add(1)(3)(5)(3)(4)) function add1() { const _args = [...arguments]; function fn() { _args.push(...arguments); return fn; } fn.toString = function() { return _args.reduce((sum, cur) => sum + cur); } return fn; } console.log(add1(1)(3)(5)(3,5)(4))