rest 参数
标签(空格分隔): es6 函数扩展
作用:
用于获取函数的多余参数;
形式为:
(...变量名)
rest参数搭配的变量是一个数组,将多余的参数放到数组中;
思考:
可以代替arguments,arguments是类数组;rest是真正的数组,可以使用数组诸多的方法;
特性:
1. rest参数是一个数组,可以使用数组特有的所有方法;
实例1:
var arr = [];
let f2 = function(...h){
console.log(h)//[2,3,4,5]
h.forEach(function(item){
arr.push(item*2) ;
});
}
console.log(f2.length)//0
f2(2,3,4,5)
console.log(arr)//[4,6,8,10]
2. rest参数,必须只能是最后一个参数,不然报错;
实例1:
function fn(...b,a){
};
//直接报错:Uncaught SyntaxError: Rest parameter must be last formal parameter
3. 函数的length属性,不包括rest参数;
实例1:
let f = function(a,b,f,...h){
console.log(h)//[5](接收的是多余参数,也就是说不用形参接收任何一个实参,直接用(...变量名)就可以就是到全部的实参;
}
console.log(f.length)//3(函数的length属性,不包括rest参数)
f(2,3,4,5)
+++++++++
let f = function(...h){
console.log(h)//[2,3,4,5]
}
console.log(f.length)//0
f(2,3,4,5)
6012

被折叠的 条评论
为什么被折叠?



