1、js中不支持重载的语法。(因为js不允许多个同名函数存在)
解决:使用arguments类数组对象接收调用时所有传入的参数值。
2、
arguments可以使用length属性,通过下标访问,不能使用数组的任何API。
arguments在调用函数时,在函数内部自动创建,并保存参数值。
何时使用: 多个相似的任务,具有相同的任务名,只是参数和步骤不一样,则都要定义相同的函数名。
例:
function func(){
if(arguments.length==0){
console.log(“没有传入参数”);
}else if(arguments.length==1){
console.log(“传入了一个参数:”+arguments[0]);
}else{
console.log(arguments); //[“333333″,”123456”]
}
}
func(100);//自动选择function checkout(money){}
func();//自动选择function checkout(){}
func(“333333″,”123456”);