对象扩展运算符和rest运算符

// 下面是对象扩展运算符
function jun(...arg){
    console.log(arg[0]);
    console.log(arg[1]);
    console.log(arg[2]);
    // 下面的arg[3]没有值,但是不会报错
    console.log(arg[3]);
}
jun(1,2,3)

console.log("例子1:");
let arr1=['www','baidu','com'];
let arr2=arr1;
console.log("直接赋值后的arr2:"+arr2);
arr2.push('souhu');
// 上面push的是arr2,但是实际上arr1也跟着arr2改变了
console.log("受影响的arr1:"+arr1);

console.log("例子2:");
let arr3=['www','baidu','com'];
let arr4=[...arr3];
console.log("...赋值后的arr4:"+arr4);
arr4.push('souhu');
console.log("push后的arr4:"+arr4);
console.log("...后arr3不受影响:"+arr3);

// --------------------分割线-----------------------

// rest运算符
console.log("例子1:");
function hong(first,...arg){
    // console.log(arg.length);
    // for(let i=0;i<arg.length;i++){
    //     console.log(arg[i]);
    // }
    // 下面是es5的新的写法,大大
    for(let val of arg){
        console.log(val);
    }
}
hong(0,1,2,3,4,5,6,7);

猜你喜欢

转载自www.cnblogs.com/NeryXJ/p/9645713.html