在JAVA中构造函数有带参数的和不带参数的。如果有这样的JS代码: 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一个。
this.param=param;
}
这样可以通过参数初始化。如果我想 像JAVA中通过空参去构造一个对象,应该怎么办?
就是说:
var o=new obj();得到这个对象,我应该怎么做。我想到的是,要么在写一个 function obj(){...}去调用 obj(param),这样就相当于JAVA中又定义了一个CLASS。
还有一种是在 obj(param)中写一个初始化的方法init(); 但是,以后初始化还要 new obj(param).init(),而不能直接NEW一个。
function obj(param){
this.param=param || "";
}new obj();
这个意思?
this.param = arguments[0] || '';
}var o1 = new Obj();
var o2 = new Obj('DEMO');alert(o1.param);
alert(o2.param);ECMAScript 函数概述:http://www.w3school.com.cn/js/pro_js_functions.asp
this.param=param;
}这个对象,我是否可以直接var o=new obj();前面定义的对象中,有个参数param,但是我什么也不传,可以吗。JS没有报错,而且浏览器可以解析,但是总觉得不规范。打个比方,JAVA中有个方法是带参数的,但是我调用的时候不传参,括号内是空的。肯定会报错。
return "abc";
}
alert(a()); 这时可以弹出“abc”,但是这样做是否合法,我的IDE上面有一条波浪纹的提示,所以是否有隐患,在javascript中是否赞成这么写,规范吗
this.param=param?param:null;
}这样不接ok了?不管你传不传参数,都可以构造出一个对象