JavaScript 的 this 的指向

28 阅读1分钟

JavaScript 的 this 指向

  1. this 出现在事件处理函数中时,它表示触发该事件的元素,也称为事件源。
  2. this 出现在构造函数中时,它表示通过 new 关键字创建的新对象。
  3. this 出现在类的方法中时,它表示调用该方法的对象,也就是该方法所属的对象。
  4. this 出现在普通函数中时,它默认指向全局对象(在浏览器中是 window 对象),但在严格模式下指向 undefined
  5. this 出现在嵌套函数(内部函数)中时,默认情况下它仍然是指向全局对象(在浏览器中是 window 对象)。
  6. 当 this 出现在通过 callapply 或 bind 方法手动指定函数执行上下文时,它将根据指定的上下文进行绑定。这意味着 this 将引用被指定的对象。

需要注意的是,对于情况 4 和情况 5,如果使用箭头函数定义函数,则 this 使用词法作用域绑定,即指向包含该箭头函数的外部作用域的 this 值。