【发布时间】:2011-02-07 09:29:38
【问题描述】:
javascript 中的一个类是否可以有多个构造函数? 即一个带零参数,一个带一个,一个带两个,等等......
如果是这样,怎么做?
谢谢!
【问题讨论】:
-
你想要的应该叫做“多态函数构造器”。看highdots.com/forums/javascript/…
标签: javascript multiple-constructors
javascript 中的一个类是否可以有多个构造函数? 即一个带零参数,一个带一个,一个带两个,等等......
如果是这样,怎么做?
谢谢!
【问题讨论】:
标签: javascript multiple-constructors
不,Javascript 不支持函数重载。
但是,在每个函数中,您都可以访问 arguments object,它包含提供给函数的所有参数,无论是否声明。您可以简单地查看它并决定您想要在构造函数中做什么。
糟糕的、不完善的例子:
function Foo() {
function singleParamConstructor(foo) {
...
}
function twoParamConstructor(foo, bar) {
...
}
switch (arguments.length) {
case 1 :
singleParamConstructor(arguments[0]);
break;
case 2 :
twoParamConstructor(arguments[0], arguments[1]);
break;
...
}
}
【讨论】:
【讨论】: