是否可以在
javascript中为一个类创建多个构造函数?
即一个零参数,一个一个,一个两个,等等…
即一个零参数,一个一个,一个两个,等等…
如果是这样,怎么样?
谢谢!
解决方法
不,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;
...
}
}