更新时间:2022-11-24 10:30:03 来源:动力节点 浏览249次
ES6引入了rest参数用于获取函数的多余参数,实际就是替换arguments对象。
1.举一个小例子:
function add (...values){
let sum = 0;
for (var val of values) {
sum += val;
}
return sum;
}
add(2, 5, 3) //输出 10
以上代码利用rest参数可以向该函数传入任意数目的参数
2.再举一个例子:
// arguments的写法
const sortNumbers = () => Array.prototype.slice.call(arguments).sort();
// rest参数的写法
const sortNumbers = (...numbers) => numbers.sort();
3.rest参数中的变量代表一个数组,所以数组特有的方法都可以用于这个变量。
例子:
function push(array, ...items) {
items.forEach(function(item) {
array.push(item);
console.log(item); // 输出 1 2 3
})
}
var a = [];
push(a, 1, 2, 3);
注意:rest参数之后不能再有其他参数(即只能是最后一个参数),否则报错
例子:
function f(a, ...b, c){} // 报错
函数的length属性不包括rest函数
例子:
(function(a) {}).length // 1
(function(...a) {}).length // 0
(function(a, ...b) {}).length //1
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习