js中this理解。

经常出现错误的是

var x = 10;
var obj = {
	x: 20,
	f: function(){
		console.log(this.x);
		var foo = function(){ console.log(this.x); }
		foo(); // (2)
	}
};

obj.f();  // (1)

  这里是先打印20,然后再打印10。这里的foo()虽然是在函数f里面执行的,但是他的this的指向还是指向全局的。这种直接执行的this都是指向全局。

原文地址:https://www.cnblogs.com/zhuni/p/6389564.html