MST

星途 面试题库

面试题:JavaScript中模拟函数重载的常见方法有哪些

在JavaScript中,由于其本身不支持传统意义上的函数重载,请阐述至少两种模拟函数重载的常见方法,并简要说明每种方法的实现思路和适用场景。
21.5万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

方法一:根据参数个数模拟函数重载

  • 实现思路:在函数内部通过arguments.length判断传入参数的个数,从而执行不同的逻辑。
function add() {
    if (arguments.length === 1) {
        return arguments[0] + 10;
    } else if (arguments.length === 2) {
        return arguments[0] + arguments[1];
    }
}
  • 适用场景:适用于函数逻辑主要由参数个数决定的场景,例如简单的数学运算函数,根据传入参数个数执行不同的计算逻辑。

方法二:根据参数类型模拟函数重载

  • 实现思路:使用typeof操作符判断传入参数的类型,根据不同类型执行不同逻辑。
function printValue() {
    if (typeof arguments[0] ==='string') {
        console.log('字符串:' + arguments[0]);
    } else if (typeof arguments[0] === 'number') {
        console.log('数字:' + arguments[0]);
    }
}
  • 适用场景:适用于函数逻辑依赖于参数类型的场景,比如打印函数,根据传入参数是字符串还是数字等不同类型,做不同的打印处理。