函数的剩余(...rest)参数

◼ ES6中引用了rest parameter,可以将不定数量的参数放入到一个数组中:
    如果最后一个参数是... 为前缀的,那么它会将剩余的参数放到该参数中,并且作为一个数组;
◼ 那么剩余参数和arguments有什么区别呢?
    剩余参数只包含那些没有对应形参的实参,而arguments 对象包含了传给函数的所有实参;
    arguments对象不是一个真正的数组,而rest参数是一个真正的数组,可以进行数组的所有操作;
    arguments是早期的ECMAScript中为了方便去获取所有的参数提供的一个数据结构,而rest参数是ES6中提供并且希望以此来替代arguments的;
◼ 剩余参数必须放到最后一个位置,否则会报错。
```JavaScript
     <!-- 剩余参数:rest parameters -->
        function foo(num1,num2,...otherNums){
            console.log(arguments)
            console.log(otherNums)
        }
        foo(20,30,40,50,60)
    // 默认一个函数只有剩余参数
    function bar(...args){
            console.log(args)
    }
    bar("abc",123,"cba",222)

    // 注意事项:剩余参数需要写在剩余参数的后面
```
posted @ 2024-10-20 01:17  韩德才  阅读(4)  评论(0编辑  收藏  举报