rest参数形式为
(...变量名)
用于获取函数的多余参数;
rest参数搭配的变量是一个数组,将多余的参数放到数组中;
可以代替arguments,arguments是类数组;rest是真正的数组,可以使用数组诸多的方法;
// ES6引入rest参数,用于获取函数的实参,用来代替arguments
// ES5获取实参的方式
function data() {
console.log(arguments);
}
data("小白","小红","小绿");//原型是一个对象
// rest参数
function data(...args) {
console.log(args);
}
data("小白","小红","小绿");//原型是个数组,可以使用数组的一些方法
// 多个参数,...args必须放在最后
function data(a,b,...args) {
console.log(a);
console.log(b);
console.log(...args);
}
data(1,2,3,4,5,6,7,8,9);
// 1给了a,2给了b,剩下的给了args
2.扩展运算符的应用
// 1.数组的合并
const data1=[1,2,3];
const data2=[4,5,6];
// // // ES5的方法
// // let data3=data1.concat(data2);
// // console.log(data3);
let data3=[...data1,...data2];
console.log(data3);
// // 2.数组的克隆
const data1=[1,2,3];
const data2=[...data1];
console.log(data2)
// 3.将伪数组转为真正的数组
let divs=document.querySelectorAll("div");//伪数组
let arrs=[...divs];
console.log(arrs);