在编程中,函数重载是指具有相同名称的多个函数可以有不同的实现。然而,在 JavaScript 中,如果存在多个同名函数,最后定义的那个函数将被执行。
函数重载功能可以通过其他一些方式实现。
示例 1:使用 if/else-if 语句
// program to perform function overloading
function sum() {
// if no argument
if (arguments.length == 0) {
console.log('You have not passed any argument');
}
// if only one argument
else if (arguments.length == 1) {
console.log('Pass at least two arguments');
}
// multiple arguments
else {
let result = 0;
let length = arguments.length;
for (i = 0; i < length; i++) {
result = result + arguments[i];
}
console.log(result);
}
}
sum();
sum(5);
sum(5, 9);
sum(1, 2, 3, 4, 5, 6, 7, 8, 9);
输出
You have not passed any argument Pass at least two arguments 14 45
在上面的程序中,重载功能是通过使用 if/else...if
语句实现的。
- 在 JavaScript 中,
arguments
对象在函数内部是自动可用的,它代表传递给函数的参数。 - 多个条件被处理,以根据特定条件执行操作。
示例 2:使用 switch 语句
// program to perform function overloading
function sum() {
switch (arguments.length) {
case 0:
console.log('You have not passed any argument');
break;
case 1:
console.log('Pass at least two arguments');
break;
default:
let result = 0;
let length = arguments.length;
for (i = 0; i < length; i++) {
result = result + arguments[i];
}
console.log(result);
break;
}
}
sum();
sum(5);
sum(5, 9);
sum(1, 2, 3, 4, 5, 6, 7, 8, 9);
输出
You have not passed any argument Pass at least two arguments 14 45
在上面的程序中,switch
语句用于实现函数重载功能。不同的条件导致执行不同的操作。
另请阅读