JavaScript基础强化:this篇

基础成就高度

Posted by Mopecat on July 24, 2019

this的指向规则

总会在社区看到一句话就是

谁调用它,this 就指向谁。

但是并不全面,事实上,调用函数会创建新的属于函数自身的执行上下文。执行上下文的调用创建阶段会决定 this 的指向。我们可以得出的一个结论:

this 的指向,是在调用函数时根据执行上下文所动态确定的。

具体环节和规则,可以先“死记硬背”以下几条规律:

  • 在函数体中,简单调用该函数时(非显式/隐式绑定下),严格模式下 this 绑定到 undefined,否则绑定到全局对象 window/global
  • 一般构造函数 new 调用,绑定到新创建的对象上;
  • 一般由 call/apply/bind 方法显式调用,绑定到指定参数的对象上;
  • 一般由上下文对象调用,绑定在该对象上;
  • 箭头函数中,根据外层上下文绑定的 this 决定 this 指向。

实战例题,对应解析及结论 <==点点点这里啊 可以把代码下载下来自行调试解析