arguments对象
arguments对象是个特殊的对象,在函数代码中,无需指明参数名就能访问这些参数。例如:function helloWorld(arg1,arg2);此时arguments[0]就可以访问arg1的值,arg1在参数中的位置为0,以此类推;所以无需重载函数就可以重复使用定义的函数。
arguments.length可以获取函数实际参数的个数:
function fn(arg1,arg2,arg3){
console.log(arguments.length)
};
aa(1,2);
//result:2;
可以看出,即使在定义函数时,定义了三个参数,但是arguments.length的长度为实际传入函数的参数个数;
上面提到了,利用arguments对象,可以模拟重载函数:
function sayHello(){
if(arguments.length==1){
//do something...
}else(arguments.length==2){
//do something...
}else{
//do something
}
}