函数的"重载"

作者: 辉夜乀 | 来源:发表于2017-04-07 23:38 被阅读20次

函数重载是指同一范围内声明几个同名函数,它们的功能类似,但是形参不同(指参数的个数、类型或者顺序不同)。

也就是说用同一个函数完成不同的功能。

// 其他语言重载范例

int sum(int num1, int num2){
  return num1 + num2;
}

float sum(float num1, float num2){
  return num1 + num2;
}

sum(1, 2);
sum(1.5, 2.4);

// 函数会根据形参的类型,这里是整型和浮点型,来选择对应的函数,这就是函数的“重载”

但是,JavaScript 中,没有重载,同名函数会覆盖。
但可以在函数体针对不同的参数调用执行相应的逻辑

// 用其他方法达到重载的效果

function printPeopleInfo(name, age, sex){
    if(name){
      console.log(name);
    }

    if(age){
      console.log(age);
    }

    if(sex){
      console.log(sex);
    }
  }


  printPeopleInfo('Byron', 26);
  printPeopleInfo('Byron', 26, 'male');

相关文章

网友评论

    本文标题:函数的"重载"

    本文链接:https://www.haomeiwen.com/subject/kqvkattx.html