函数的"重载"
2017-04-07 本文已影响20人
辉夜乀
函数重载是指同一范围内声明几个同名函数,它们的功能类似,但是形参不同(指参数的个数、类型或者顺序不同)。
也就是说用同一个函数完成不同的功能。
// 其他语言重载范例
int sum(int num1, int num2){
return num1 + num2;
}
float sum(float num1, float num2){
return num1 + num2;
}
sum(1, 2);
sum(1.5, 2.4);
// 函数会根据形参的类型,这里是整型和浮点型,来选择对应的函数,这就是函数的“重载”
但是,JavaScript 中,没有重载,同名函数会覆盖。
但可以在函数体针对不同的参数调用执行相应的逻辑
// 用其他方法达到重载的效果
function printPeopleInfo(name, age, sex){
if(name){
console.log(name);
}
if(age){
console.log(age);
}
if(sex){
console.log(sex);
}
}
printPeopleInfo('Byron', 26);
printPeopleInfo('Byron', 26, 'male');