js函数的不定参数

es5

function sum () {
  let num = 0
  // arguments是伪数组使用数组方法需要先转换为数组
  Array.prototype.forEach.call(arguments, function (item) {
    num += item * 1
  })
  return num
}

es6

es6中不建议使用arguments,故使用展开运算符存储参数

function sum (...nums) {
  let num = 0
  nums.forEach((item) => {
    num += item
  })
  return num
}
上一篇:用es3的语法实现bind


下一篇:JavaScript 系列六:函数