一、扩展运算符
扩展运算符是三个点(...)。它将一个数组转为用逗号分隔的参数序列。从而能够当作多个参数进行传参。
a = [1,2]
console.log(add(...a))
function add(x,y){
return x + y;
}
这里如果直接写成add(a)的话,那么给add函数中传入的参数将是一个[1,2],那么函数就会出错。所以这里医用...将一个数组转换成由逗号组成的参数序列,那么传入的参数就是两个,这样的话函数的x,y就能够正常接收到参数了。
二、arguments的用法
在javascript中有一个arguments参数,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。arguments是一个类数组但不是数组。
function test(){
for(var i = 0;i < arguments.length;i++){
console.log(arguments[i]);
}
}
test(3);
test(1,2,3)
三、rest的用法
加入每次要对arguments传入参数的第二个开始进行解析,这时候用arguments就不太合适了,可以考虑用rest
function test(a,...rest){
for(var i = 0;i < rest.length;i++){
console.log(rest[i]);
}
}
test(3);
test(1,2,3)
rest作为参数必须放在参数的最后一个,并且前面要将加上...,传入的参数先绑定前面已经定义的参数,其余的都以数组的形式交给rest