赞助
  // 展开合并运算符

        // 展开合并运算符,实际上都是一样的运算符
        // 只是不同情况下,执行不同功能
        // 运算符 ... 三个点

        // 如果定义在 形参 () 中
        // 合并运算符,以数组的形式,将所有实参,存储在定义的形参中
        // 语法1 , (...形参)=>{}  以数组的形式,将所有的实参,存储在形参中

        // 语法2 , (形参1,形参2, ...形参3)=>{}
        // 形参1中存储实参1,形参2中存储实参2,其他实参都以数组的形式,存储在形参3中
        
        // 总结: 定义在函数形参()中的 ... 
        //          作用是合并运算符,将对应的实参以数组的形式存储在 ...形参中
        //       定义在函数实参()中的 ...
        //          作用是展开运算符,将数组每个单元的数据展开,一一对应赋值给函数的形参
        //          只能展开数组,不能展开对象
        
        // 知识点回顾
        // 函数中,有一个 arguments ,以数组的形式存储所有的实参
        // 在 箭头函数中 , 没有 arguments 这个功能
    

        function fun1(){
            console.log(arguments) ;
        }
        fun1(1,2,3,4,5,6,7,8,9);

        // arg 形参中以数组的形式存储实参 a,b,c
        var fun2 = ( ...arg  )=>{
            console.log(arg) ;
        }
        fun2('a','b','c');

        // 第一个形参,str1,应该存储实参1 a
        // 第二个形参,str2,应该存储实参2 b
        // 其他所有的实参,都以数组的形式,存储在 arg中
        var fun3 = ( str1 , str2 ,...arg  )=>{
            console.log(str1 , str2 ,arg) ;
        }
        fun3('a','b','c','d','e','f',1,2,3,4,5,);


        function fun4 (a,b,c,d,e){
            console.log(a,b,c,d,e);
        }

        // 调用fun4,需要输入3个参数
        const arr = ['北京','上海','广州','重庆','天津'];
       
        // 实际是需要将 数组中的数据,一一对应的赋值给函数的形参,作为函数执行时的实参
        fun4(...arr);
posted on 2020-12-06 11:21  Tsunami黄嵩粟  阅读(117)  评论(0编辑  收藏  举报