JavaScript 实现函数重载的程序

要理解此示例,您应了解以下 JavaScript 编程 主题


在编程中,函数重载是指具有相同名称的多个函数可以有不同的实现。然而,在 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 语句用于实现函数重载功能。不同的条件导致执行不同的操作。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战