javascript 链式作用域

 

var a=b=0; 
var object={ 
    a:'a', 
    b:'b', 
    c:function(){ return this.a; },  //function内可以访问到平级变量的值和外部的值。
    d:function(){ return this.b; } 
} 
alert(object.c()); //根据就近原则,显示的值为a。

 

var a=b=0;
var object={ 
    a:'a', 
    b:'b', 
    c:function(){ return this.a; },  //function内可以访问到平级变量的值和外部的值。
    d:function(){ 
            return function(){
                   return a;
            }
      }
}
alert(object.d()()); //值为0, window<---d<---function
var a=b=0;
var object={ 
    a:'a', 
    b:'b', 
    c:function(){ return this.a; },  //function内可以访问到平级变量的值和外部的值。
    d:function(){ 
    var that=this;
            return function(){
                   return that.a;
            }
      }
}
alert(object.d()()); //值为a

 

 

posted @ 2013-01-29 11:51  microsoft_kk  阅读(271)  评论(0编辑  收藏  举报