1. function sum () {
    2. //arguments:内置的实参集合,(箭头函数中没有)不是数组,是类数组,(不是数组的实例,无法直接使用数组的方法;
    3. let total = 0;
    4. for (let i = 0; i < arguments.length; i++) {
    5. total += arguments[i]
    6. }
    7. return total
    8. }
    9. let total = sum(10, 20, 30, 40);
    1. let sum = (...arg) => eval(arg.join('+'));
    2. // arg:存储传递信息的实参(数组)
    3. // eval 把字符串转化为js表达式执行
    4. let total = sum(10, 20, 30, 40)
    5. console.log(total);

    两者相比较说明如果arguments是数组就好了

    function sum () {
      // let ary = Array.prototype.slice.call(arguments);
      let ary = [].slice.call(arguments)
      // 数组求和
      return eval(ary.join('+'))
    }
    let total = sum(10, 20, 30, 40)
    console.log(total);
    

    不仅仅是这个一个方法可以调用,很多数组的方法,类数组都可以使用~~

    function sum () {
      let total = null;
      [].forEach.call(arguments, item => {
        total += item;
      })
      return total
    }
    let total = sum(10, 20, 30, 40)
    console.log(total);