C++/Java:this静态绑定,明确而具体。
Javascript:this动态绑定。可以是全局对象,当前对象,或任意对象。取决于函数的调用方式
函数的调用方式:
1. 对象方法,this绑定该对象
var point = {
x : 0,
y : 0,
moveTo : function(x, y) {
this.x = this.x + x;
this.y = this.y + y;
}
};
point.moveTo(1, 1)
2. 函数调用,this绑定到全局对象
function a(x){
this.x = x;
}
a(10);
x; //x = 10