005-rest参数

1. ES5 的写法

function date(){
	console.log(arguments);
	console.log(typeof(arguments))
}
date('小红','小蓝','小明');
arguments的特点

  • 它有什么?
    索引访问:可以通过 arguments[0], arguments[1] 访问参数;
    length 属性:可以知道传了多少个参数;
    callee 属性:可以引用当前函数(非严格模式下);
    从 ES6 开始,它也具备了 [Symbol.iterator] 方法,因此可以被遍历(比如用 for...of);
  • 它没有什么?
    它不是一个真正的 Array,不能直接用 map()、filter() 等数组方法。

2. ES6 的写法(rest参数)

function date(...args){
	console.log(args); 
}
date('小红','小蓝','小明');
function date(a,b,...args){
	console.log(a);
	console.log(b);
	console.log(args)
}
date(1,2,3,4,5,6,7,8);