· 3 min read
this 指向在函数定义时不确定,调用时才确定。
- 全局环境:浏览器
this === window,Node 中this === global,严格模式为undefined - 对象方法:
obj.method()中 this 指向点号左侧的对象 - 独立调用:函数脱离对象后丢失绑定,this 回退到全局(严格模式 undefined)
- 箭头函数:没有独立的 this,捕获定义时所在作用域的 this
- 显式绑定:
call/apply/bind可手动指定任意 this
核心原则:只看如何调用,不看在哪定义。