函数重载

重载函数是说:声明了几个功能类似的同名函数,他们的参数个数不同,或者参数类型不同,或者参数顺序不同。
函数重载常用来实现功能类似而所处理的数据类型不同的情况。
在js中是没有实现函数重载的,后出现的同名函数会覆盖先声明的同名函数,就像下面这样:

function a(a){console.log(a)};
function a(a,b){console.log(a+b)};
function a(a,b,c){console.log(a+b+c)};
a(1)  //1
a(1,2)  //NAN
a(1,2,3)  //NAN

但是我们有一些办法可以间接的实现函数重载:利用js中的特殊对象arguments来判断传入参数的个数和类型

function a(){
   arguments.length === 1 ? console.log(arguments[0]) : console.log(...arguments)
}
a(1)  // 1
a(1,2,3)  // 1 2 3

你可能感兴趣的:(函数重载)