模拟思路
- 将当前函数设置为 call、apply 对象的属性
- 执行该属性
- 删除该属性
- 返回值
普通方法和对象方法 this 指向结论:
this的指向,是在函数被调用的时候确定的
函数调用时,看其是否被某个对象所拥有,假如被某个对象拥有,那么函数中的this,指向的是其拥有的对象
例如:obj.fn()。fn() 函数被 obj 所拥有,那么 fn 里面的 this,指向的是 obj
如果函数独立调用,那么该函数内部的this,则指向undefined。在非严格模式中,当this指向undefined时,它会被自动指向全局对象。
例如aaa() 是独立调用,那么aaa函数里面的this会指向undefined,在非严格模式下面指向的是全局对象