重载的定义与特性
重载:程序中定义多个相同的函数名,不同参数列表的函数
调用时,根据传入的参数不同,动态的选择匹配的函数进行执行操作!
JS 的语法不支持重载,但是可以利用 arguments类数组对象 来实现重载效果
arguments对象是每个函数对象中默认都有的,专门接受调用时传入的参数的值
两点像数组:arguments.length 参数值的个数
arguments[i] 获得下标i位置的参数值
例如:
function fun(a){
return a*a;
}
function fun(a,b){
return a+b;
}
console.log(fun(2));// NaN
console.log(fun(2,3));//5
/*function fun(){
if(arguments.length==1){
return arguments[0]*arguments[0];
}else{
return arguments[0]+arguments[1];
}
}
console.log(fun(2));// 4
console.log(fun(2,3));// 5*/
当用到相同函数名使用不同参数时,调用就会出现NaN,5
arguments对象可以接收传入参数的值,加上一层判断,就可以实现重载