普通函数 | window |
严格模式 | undefined |
对象的方法里调用 | 调用该方法的对象 |
构造函数 | 创建出来的实例 |
定时器函数 | 指向 window |
箭头函数 | 没有this,使用外层对象的this |
总的原则就是this指的是调用它的对象
var name = "小红";
function a() {
var name = "小白";
console.log(this.name);
}
function d(i) {
return i();
}
var b = {
name: "小黄",
detail: function () {
console.log(this.name);
},
bibi: function () {
return function () {
console.log(this.name);
};
},
};
var c = b.detail;
b.a = a;
var e = b.bibi();
a(); //小红
c(); //小红
b.a(); //小黄
d(b.detail); //小红
e(); //小红