在编程中,函数重载是指多个同名函数可以有不同实现的概念。但是,在 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
在上面的程序中,重载功能是通过使用
在 JavaScript 中,if/else...if
语句实现的。
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
语句用于完成函数重载功能。不同的条件导致执行不同的操作。