只要记住:函数中的 this 指向取决于函数被如何调用,与函数写的再花都没关系
1.全局作用域中的 this 指向
全局作用域中的 this(不在任何函数内部),this 指向全局对象 window。(NodeJS 环境里,全局对象是 global)。
实际打印:window
2.普通函数独立调用的 this 指向
普通函数独立调用 this 指向的是全局对象 window
实际打印 window
3.对象调用方法 this 指向
对象调用方法的 this 指向 调用方法的 那个对象
实际打印 obj 这个对象
4.构造函数的 this 指向
构造函数的 this 指向 那个被新创建出来的对象实例
实际打印 小明
5.事件处理器上的 this 指向
事件处理器上的 this 指向触发该事件的 元素(比如这里指向的是 button 元素)
实际打印
6.箭头函数的 this 指向
箭头函数本身没有绑定 this ,它会在自己本身所在位置的上下文找 this,然后当作自己的 this 值。
实际打印 obj 这个对象
以上是个人学习记录,如有错误的地方,欢迎指正