constructor中能不能有返回值?
可以有返回值。
如果返回的是基本类型,则没有影响;
如果返回的是对象,则该对象将会覆盖constructor返回的对象实例。
举例:
//遍历对象属性和方法
var iterate=function(obj){
var res="";
for(var item in obj){
res +=""+item+":"+obj[item]+" ";
}
return res;
}
//测试的constructor
function Test(){
this.gender="male";
//return "hello"
return {gender:"female"}
}
//test
var t =new Test();
alert(iterate(t));