函数重载是指在同一个作用域内,有多个函数名相同,但参数不同的函数(参数不同包括参数的类型不同,参数的个数不同,参数的顺序不同),与返回值无关,我们将这种参数叫做函数重载。函数的重载是通过列表区分的,和其他值无关。
函数重载又称为函数的多态性,是指同一个函数名对应着多个不同的函数。所谓“不同”是指这些函数的形参表必须互不相同,或者是形参的个数不同,或者是形参的类型不同,或者是两者都不同,否则将无法实现函数重载。
为什么需要函数重载
函数重载有两个主要的优点:
(1)代码更易读:函数重载可以减少代码重复,使代码更易读(2)更高效的代码:使用函数重载可以减少代码长度,提高执行效率,更高效的处理程序。
函数重载的实现方法
JavaScript 不支持函数重载,但是可以使用以下方法实现:
(1)使用 if 语进行参数判断:
(2)利用arguments 和 typeof 实现多态
简单来说,就是可以在函数内部判断输入参数的类型或者个数根据不同的类型或者数量来执行不同的逻辑。