// 下面是对象扩展运算符 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);