🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[success] # 函数转换 ~~~ 1.实现效果 add(1, 2)(3, 4, 5)(6) // 21 2.实现须知:要实现这个要求,我们必须知道函数相关的两个隐式转换函数 toString() 和 valueOf()。 toString() 函数会在打印函数的时候调用,比如 console.log、valueOf 会在获取函数原始值时调用, 比如加法操作。 ~~~ ~~~ function add(...args) {   let arr = args   function fn(...newArgs) {     arr = [...arr, ...newArgs]     return fn;   }   fn.toString = fn.valueOf = function() {     return arr.reduce((acc, cur) => acc + parseInt(cur))   }   return fn } ~~~