重载:根据传入参数不一样,动态决定调用哪一种方法
原因:js不支持重载,重复声明,覆盖掉了
可以使用arguments对象模拟重载

没有重载时

  1. function go(a,b){
  2. console.log(a+b)
  3. }
  4. function go(a){
  5. console.log(a);
  6. }
  7. go(20)
  8. go(20,30)

image.png

arguments对象模拟重载

  1. function show(){
  2. if(arguments.length == 2){
  3. console.log(arguments[0]+arguments[1])
  4. }else if(arguments.length == 1){
  5. console.log(arguments[0])
  6. }
  7. }
  8. show(20)
  9. show(20,30)

image.png