在Javascript中伪造函数重载的最佳方法是什么?
我知道不可能像在其他语言中那样在Javascript中重载函数.
- 一开始就用不同的名字
- 使用可选参数,如
y = y || 'default'
- 使用多个参数
- 判断参数类型
- 或者用什么方式?
在Javascript中伪造函数重载的最佳方法是什么?
我知道不可能像在其他语言中那样在Javascript中重载函数.
y = y || 'default'
使用参数进行函数重载的最佳方式不是判断参数长度或类型;判断类型只会使代码变慢,并且您可以享受数组、空值、对象等的乐趣.
大多数开发人员所做的是将对象作为其方法的最后一个参数.这个物体可以装任何东西.
function foo(a, b, opts) {
// ...
if (opts['test']) { } //if test param exists, do something..
}
foo(1, 2, {"method":"add"});
foo(3, 4, {"test":"equals", "bar":"tree"});
然后,您可以在您的方法中随心所欲地处理它.[switch 、If-Else等]