- this 永远指向函数运行时所在的对象,而不是函数创建时所在的对象
- 匿名函数和不处于任何对象中的函数,This指向window
- call, apply, with指的This是谁就是谁。
- 普通函数调用,函数被谁调用,This就指向谁
var x=0; var foo={ x:1, bar:{ x:2, baz:function(){ console.log(this.x) } } } var a=foo.bar.baz foo.bar.baz();//2 a();//0
a运行时所在的对象时window,所以this指向window,即全局变量x为0;