- 默认绑定规则 指向 window
- 隐式调用规则 谁调用指向谁 当函数作为回调函数时,函数内 this 由 api 决定例如 forEach sort
- 显式绑定 call, apply, bind 绑定非对象则会转化为包装类 没有包装类则会默认
- new 绑定
tips: 箭头函数内没 this 所以拿的是父亲 AO 的 this(四种绑定方式对箭头函数均不好使) 而且箭头函数不能作为构造函数
var name = "window";
var obj1 = {
name: 1,
fn4: function () {
return () => {
console.log(this.name);
};
},
};
var obj2 = {
name: 2,
};
obj1.fn4()(); //1
obj1.fn4().call(obj2); //1
obj1.fn4.call(obj2)(); //2