美文网首页
多次计算

多次计算

作者: 立立亭亭 | 来源:发表于2020-12-08 14:27 被阅读0次

    直接上代码

    function create(fn, init) {
      let initdata = { result: init }
      return function() {
        let args = [].slice.call(arguments)
        if (args.length === 0) {
          return initdata.result
        }
        fn.apply(initdata, args)
        return arguments.callee
      }
    }
    
    let add = create(function() {
      this.result = [].reduce.call(
        arguments,
        function(a, b) {
          return a + b
        },
        this.result
      )
      console.log(arguments,this.result)
    }, 10)
    
    console.log(add(20, 5, 4, 7)(30, 6)(10, 8, 9)())
    
    

    运行结果

    [Arguments] { '0': 20, '1': 5, '2': 4, '3': 7 } 46
    [Arguments] { '0': 30, '1': 6 } 82
    [Arguments] { '0': 10, '1': 8, '2': 9 } 109
    109
    

    相关文章

      网友评论

          本文标题:多次计算

          本文链接:https://www.haomeiwen.com/subject/mmnfgktx.html