理解JavaScript中的this

具体详解观看以下两篇文章:

http://www.ruanyifeng.com/blog/2018/06/javascript-this.html

https://segmentfault.com/a/1190000017443250

(this指的是函数运行时所在的环境)

This指针作用域:
1)在全局执行环境中使用this,表示Global对象,在浏览器中就是window对象。
2)当在函数执行环境中使用this时,情况就有些复杂了。如果函数没有明显的作为非window对象的属性,而只是定义了函数,不管这个函数是不是定义在另一个函数中,这个函数中的this仍然表示window对象。如果函数显示地作为一个非window对象的属性,那么函数中的this就代表这个对象。
3)当通过new运算符来调用函数时,函数被当做一个构造函数,this指向构造函数创建出来的对象。

4)在回调函数中 this 的指向也会发生变化。

原文地址:https://www.cnblogs.com/chm-blogs/p/11286691.html