实现sum(1)、sum(1)(2)
发布日期:2021-11-21 16:36:00 浏览次数:6 分类:技术文章

本文共 457 字,大约阅读时间需要 1 分钟。

function f () {

  /* 代码 */
}

console.log(f(1) == 1)

console.log(f(1)(2) == 3)
console.log(f(1)(2)(3) == 6)

在函数f内用一个变量数组来存放参数集合,然后返回一个函数(我命名为inner),这个inner函数的作用是收集传递进来的参数将它添加到参数集合中。
function f () {
  let args = [...arguments]
  var add = function () {
    args.push(...arguments)
    return add
  }
  add.valueOf = function () {
    return args.reduce((cur, pre) => {
      return cur + pre
    })
  }
  return add
}
console.log(f(1) == 1)
console.log(f(1)(2) == 3)
console.log(f(1)(2)(3) == 6)
 

转载地址:https://blog.csdn.net/yyychocolate/article/details/108382739 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:让if(a == 1 && a == 2 && a == 3)条件成立的办法
下一篇:bind方法实现

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月16日 09时29分47秒