刚才看了一篇文章,如下: function Student(basicinfo)
3{
4 this.basicInfo = basicinfo;
5
6 var FormatInfo = function()
7 {
8 this.basicInfo.name = this.basicInfo.name ".china";
9 }
10 FormatInfo();
11
12}
13function BasicInfo(name,age,from)
14{
15 this.name = name;
16 this.age = age;
17 this.from = from;
18}
19var zfp = new Student(new BasicInfo("3zfp",100,"ShenZhen"));
意思是说:私有方法无法访问this指示的变量;其实是可以访问的改成这样就可以!6 var FormatInfo = function()
7 {
8 this.basicInfo.name = this.basicInfo.name ".china";
9 }
10 FormatInfo();
------------------------------------------------
6 var FormatInfo = function(t)
7 {
8 t.basicInfo.name =t.basicInfo.name ".china";
9 }
10 FormatInfo(this);

解决方案 »

  1.   

    var _this=this;var innerFunc=function(){
       alert(_this)
    }
      

  2.   


    我想表达的是,私有方法是可以访问this指示的变量!
      

  3.   


    看到你这种写法,让我突然明白的在EXTJS源代码中,为什么很多函数的开头都有这一句!var me=this;在网上看到很多讲解EXTJS源码的作者都非常迷惑这一句有什么用?
    我以前看源代码的时候也是不明白,直接用this不可以吗,不是脱掉裤子打屁,多这一举,你无意中的一句代码,解决了一个不易察觉的问题,现在终于明白了。
    ------------
    KK3K2005,你对JS的功底应该非常深!!!佩服!!!
      

  4.   

    KK3K2005  高手啊,要不是我看EXTJS源代码的时候在网上看到很多讲解EXTJS源码的作者都非常迷惑这一句,还真看不出你是一位高手!!