一直以来,有关构造函数的逻辑在我脑子里就比较混乱。等理解之后我要把他们都记下来!!!!
这道题的程序如下:
var age=100;
function test(){
this.age=50;
return function(){
return this.age;
}
}
var m=new test();
alert(m());
var n=test();
alert(n());
构造函数一旦返回一个对象就不在创建新对象了,所以m得到的是function(){ retuern this.age},调用m,this指的是全局变量age=100,n直接调用函数test(),age=50替换了原来全局中的age=100,所以,n为50