function T()
{
var c=new A("123456");
alert(c.Msg);
c.B();
}
function A(msg)
{
this.Msg=msg;
var Msg=msg;
this.B=function(){
_B();
}
_B=function()
{
alert(this.Msg);
}
}
alert(this.Msg);未定义
如何达到我的目的,在这种情况下,不修改_B,this.Msg的可见性

解决方案 »

  1.   

    this.Msg是window的 当然没定义啦。
      

  2.   

    在function中的this.Msg是局部变量
    和alter(this.Msg)中的不一样
    alter(this.Msg)没有事先定义,当然包undefined
      

  3.   


    function T() 

    var c=new A("123456"); 
    alert(c.Msg); 
    c.B(); 

    function A(msg) 

    this.Msg=msg; 
    var Msg=msg; 
    this.B=function(){ 
    _B(); 

    _B=function() 

    alert(Msg); 


    将this.Msg修改为Msg,作用域不一样