方法一:根据参数个数模拟函数重载
- 实现思路:在函数内部通过
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]);
}
}
- 适用场景:适用于函数逻辑依赖于参数类型的场景,比如打印函数,根据传入参数是字符串还是数字等不同类型,做不同的打印处理。