JavaScript函数不能像传统意义上那样实现重载,而在其余语言(如 Java)中,能够为一个函数 编写两个定义,只要这两个定义的签名(接受的参数的类型和数量)不一样便可。如前所述,ECMAScirpt 函数没有签名,由于其参数是由包含零或多个值的数组来表示的。而没有函数签名,真正的重载是不可 能作到的。 数组
可是咱们能够经过检查传入函数中参数的类型和数量并做出不一样的反应,函数
// 经过参数个数来实现重构
function Oop(){
if(arguments.length == 1){
console.log('这是一个函数')
}else if(arguments.length == 2){
console.log('这是第二个函数')
}
}ip