经常在一些书或者代码片段中见到这样一句代码,[].slice.call( arguments, 1 );初看不知其意,决定学习一下,
上代码
function test() {
// 截取参数
// 让arguments类数组的指针继承[array],从而使用[]的各种方法;
// args对象就是slice方法处理后的数组
var args = [].slice.call(arguments,1);
console.log(args,"first");
// es6的扩展运算符可以得到同样的效果,先变数组,再截取;
var args = [...arguments].slice(1);
console.log(args,"second");
}
test(1,2,3,4,5,6,7);
test([1,2,3,4,5,6],[1111],{name:1234});