经常出现错误的是
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都是指向全局。
经常出现错误的是
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都是指向全局。