在JAVA中构造函数有带参数的和不带参数的。如果有这样的JS代码:
- JScript code
function obj(param){ this.param=param; }
这样可以通过参数初始化。如果我想 像JAVA中通过空参去构造一个对象,应该怎么办?
就是说:
var o=new obj();得到这个对象,我应该怎么做。
我想到的是,要么在写一个 function obj(){...}去调用 obj(param),这样就相当于JAVA中又定义了一个CLASS。
还有一种是在 obj(param)中写一个初始化的方法init(); 但是,以后初始化还要 new obj(param).init(),而不能直接NEW一个。
------解决方案--------------------
java我不懂
function obj(param){
this.param=param || "";
}
new obj();
这个意思?
------解决方案--------------------
- JScript code
function Obj() { this.param = arguments[0] || ''; } var o1 = new Obj(); var o2 = new Obj('DEMO'); alert(o1.param); alert(o2.param);
------解决方案--------------------
完全合法。浏览器不报错。不影响页面执行。你说IDE有提示,不必理会!
------解决方案--------------------
function obj(param){
this.param=param?param:null;
}
这样不接ok了?不管你传不传参数,都可以构造出一个对象
------解决方案--------------------
在js中 没有像java一样的方法重构(跟据传的参数不同 方法调用也不相同)
只要方法名对了 就会调用的,你传不传参 对它都没有影响的