this 指向的是 获取 引用类型内存地址 的上下文环境,var obj = {
a:'1',
foo:function(){
console.log(this.a)
}
var a = 2
obj.foo() // 1
匿名函数的内存地址在obj.foo 变量里,所以this指向的obj
var m = obj.foo
m() // a
匿名函数的内存地址在m 变量里,所以this指向的window