参数扩展

  • 参数的扩展 使用…来收集参数 …argu(Rest Parameter)必须放在参数的最后一个
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    //普通函数里面的应用,在普通函数里面是有arguments对象的

    function show1(a,b,...argu) {
    alert(a);
    alert(b);
    alert(argu);
    alert(arguments[0]);
    }
    show1(1,2,3,4,5,6);

    //收集剩余的参数,名字随便取 习惯叫argu,是一个数组
    //箭头函数里面 arguments 是没有定义的

    let show = (a,b,...argu) => {
    alert(a);
    alert(b);
    alert(argu[4]);
    alert(typeof arguments);
    };
    show(21,23,1,23,34,45);

展开数组及默认参数

  • 利用…来展开数组 展开后的效果就和直接把数组内容拿出来一样
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    let arr1 = [1,2,3,4];
    let arr2 = [5,6,7,8];
    let arr3 = [...arr1,...arr2];
    alert(arr3);
    //...arr1 相当于 1,2,3,4

    /*组合使用参数收集和数组展开*/

    function showMore(...argu){
    fn(...argu);
    }
    function fn(a,b) {
    alert(a+b);
    }
    showMore(23,12);

    /*默认参数 和php的语法类似*/
    //不传有默认值,传了就覆盖默认值

    function fun(a,b=3,c=5){
    console.log(a,b,c);
    }
    fun(23,34);