js 实现 java 函数重载

定义

函数重载为声明多个相同函数名,参数不同的函数,调用时根据参数不同执行响应操作

javascript 实现方法

首先可以想到的是判断 arguments.length 的长度,但是这不是最好的方法
另外一种是使用 typeof 检测参数的类型,也不是最好的方法

以下为一些其他实现方法

function foo(a, b, opts) {
  if(opts.test) {
  //do sth
  }
}


foo(1, 2, {"method":"add"});
foo(3, 4, {"test":"equals", "bar":"tree"});

另外如果需要在其他函数内部使用 argumentsx 来调用函数,切记一定要重新引用
具体原因是因为 argumentsthis 都会在函数作用域内被覆盖。

posted @ 2020-12-01 14:26  我听不见  阅读(124)  评论(0编辑  收藏  举报