日期:2014-05-16  浏览次数:20390 次

为何不同结果
function A( ){
var a=10;
var b=20;
function B( ){
this.f=a;
}
return B;
}
var tt=A( );
var qq=new tt( );
alert(qq.f);
==========================================

function A( ){
var a=10;
var b=20;
function B( ){
this.f=a;
}
return B;
}
var qq=new A( )( );
alert(qq.f);

为什么上面的可以,下面的不可以,我总感觉等价。。。。


------解决方案--------------------
JScript code

function A( ){
var a=10;
var b=20;
function B( ){
this.f=a;
}
return B;
}
var tt=A( );==>tt=function(){this.f=10}
var qq=new tt( );==>qq.f=10
alert(qq.f);


function A( ){
var a=10;
var b=20;
function B( ){
this.f=a;
}
return B;
}
var qq=new A( )( );==>var test=new A();qq=test();
alert(qq.f);