Fork me on GitHub

javascript作用域和闭包

:当定义一个独立函数(级不绑定于任何对象)时,this关键字绑定于全局名称空间。作为一个最直接的结果,当在一个方法内创建一个内部函数时,内部函数的this关键字将绑定于全局名称空间,而不是绑定于该方法。为了解决这一问题,可以将包裹方法的this关键字简单地赋值给一个名为that的中间变量。

 

obj = {};
obj.method = function(){
var that = this;
this.counter = 0;

var count = function(){
that.counter += 1;
console.log(that.counter);
}

count();
count();
console.log(this.counter);
}
obj.method();

posted @ 2015-12-10 17:54  CangoWu  阅读(106)  评论(0编辑  收藏  举报