# 累加函数

# toString

  1. console.log 会默认 toString
function f() {}
f.toString = function() {
  return 8888
}
console.log(f) // 8888
1
2
3
4
5
function f() {
  return f
}
f.toString = function() {
  return 8888
}
console.log(f()) // 8888
1
2
3
4
5
6
7

# 实现 a(1)(2)(3)

function add(a) {
  function sum(b) {
    a = b ? a + b : a
    return sum
  }
  sum.toString = function() {
    return a
  }
  return sum
}
1
2
3
4
5
6
7
8
9
10

# 实现多参数累加

function add(a) {
  let args = [...arguments]
  function sum(b) {
    args.push(...arguments)
    return sum
  }
  sum.toString = function() {
    return args.reduce((a, b) => a + b)
  }
  return sum
}

console.log(add(1)(2))
console.log(add(1, 5)(2))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
最后更新时间: 8/12/2021, 4:22:34 PM