繁体   English   中英

我怎样才能使 console.log(sum(1)) // 1 和 console.log(sum(1,2)(3)) //6 工作?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM