87,996
社区成员




var str = function()
{
return "Hello world!";
};
str.prototype = {a:1}
var str2 = function()
{
return new RegExp("Hello world")
}
str2.prototype = {a:1}
var os1 = new str();
alert(os1)//[object Object]
alert(os1.a)//1
var os2 = new str2();
alert(os2);// /Hello world/
alert(os2.a)// undefined!!!外面那个new根本没起作用!
var str2 = function(){
this.a = 2;
return this;//这样也是没问题的 这样最后就能alert出2了
}
var str = function(){
this.a = 1;
}
var str2 = function(){
this.a = 2;
return new str();//不管这句之前做了什么 最后该函数返回一个str对象
}
var os2 = new str2();//这就不是一个纯洁的str2对象了 而实际上是一个str对象 就是上边return的作用
alert(os2.a);//那这里大家说 它不返回1还要返回什么呢
var str = {a:1};
var str2 = function() {
this.a = 1;
return str; //这里new了么?
}
var test = new str2();
alert(test.a);
var str = function(){
this.a = 1;
}
var str2 = function(){
this.a = 2;
return new str();
}
var os2 = new str2();
alert(os2.a);//1还是2?哈哈,可以拿来当面试题了。