tt={set:function(this.name="kitty")}
               tt={set:function(){
                 tt.name="kitty"
             }}
             tt={name:"kitty"}
           
求这三种写法的区别,特别是第一种与第二种之间方法的区别。

解决方案 »

  1.   

    楼主第一个写错了
    tt={set:function(this.name="kitty")} tt1={
    set: function(){
    this.name="kitty"
    return this;
    }
    }
    tt2={
    set:function(){
    tt2.name="kitty";
    return tt2;
    }
    }
    tt3={
    name:"kitty"
    }
    alert(tt1.set().name)
    alert(tt2.set().name)
    alert(tt3.name)
      

  2.   

    var o1 = {set:function() { this.name = 'kitty'; alert(this === o1); }}
    var o2 = {set:function(){ o2.name = "kitty"; alert(this === o2); }}没有本质区别,对象内部的的匿名函数内的this指针指向的是父对象。