[英]How can I make console.log(sum(1)) // 1 and console.log(sum(1,2)(3)) //6 work?
sum我怎样才能使 console.log(sum(1))// 1 和 console.log(sum(1,2))// 3 和 console.log(sum(1,2)(3)) //6工作?
返回一个函数,当字符串化时,在闭包中返回一个数字,该数字在调用函数时添加:
const sum = (...args) => { let thisSum = 0; const fn = (...args) => { thisSum += args.reduce((a, b) => a + b, 0); return fn; }; fn.toString = () => thisSum; return fn(...args); }; console.log(sum(1)) // 1 console.log(sum(1, 2)) // 3 console.log(sum(1, 2)(3)) //6
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.