面试题答案
一键面试实现思路
在JavaScript中模拟方法重载实现根据不同参数类型执行不同逻辑,可以利用函数内部的 typeof
操作符判断参数类型,然后根据不同类型执行对应的逻辑。
代码实现
function Calculator() {
this.add = function() {
if (arguments.length === 2 && typeof arguments[0] === 'number' && typeof arguments[1] === 'number') {
return arguments[0] + arguments[1];
} else if (arguments.length === 2 && typeof arguments[0] ==='string' && typeof arguments[1] ==='string') {
return arguments[0] + arguments[1];
} else {
throw new Error('不支持的参数类型');
}
};
}
// 使用示例
const calculator = new Calculator();
console.log(calculator.add(1, 2));
console.log(calculator.add('Hello, ', 'world'));