跳到主要内容

JavaScript 程序:执行函数重载

要理解这个示例,你应该具备以下 JavaScript 编程主题的知识:

在编程中,函数重载是指具有相同名称的多个函数可以有不同的实现。然而,在 JavaScript 中,如果有多个同名函数,最后定义的函数将被执行。

函数重载功能可以通过其他方式实现。

示例 1:使用 if/else-if 语句

// 程序用于执行函数重载

function sum() {
// 如果没有参数
if (arguments.length == 0) {
console.log("You have not passed any argument");
}

// 如果只有一个参数
else if (arguments.length == 1) {
console.log("Pass at least two 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 语句

// 程序用于执行函数重载
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 语句实现了函数重载功能。不同的条件导致执行不同的操作。