JavaScript中`this`的用法

JavaScript中`this`的用法

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

在JavaScript中,this关键字的值根据上下文变化:全局作用域指向全局对象,函数中非严格模式指向全局对象,严格模式下为undefined;方法中指向调用该方法的对象;箭头函数继承外部this;构造函数或类中指向新实例。可以通过call、apply和bind手动设置this的值。

🎯

关键要点

  • this关键字的值根据执行上下文变化。
  • 在全局作用域中,this指向全局对象。
  • 在函数中,非严格模式下this指向全局对象,严格模式下为undefined。
  • 在方法中,this指向调用该方法的对象。
  • 箭头函数没有自己的this,继承外部作用域的this。
  • 在构造函数或类中,this指向新创建的实例。
  • 在事件处理程序中,this指向触发事件的元素。
  • 可以通过call、apply和bind手动设置this的值。
  • 当作为回调传递方法时,this可能会丢失上下文。
  • 使用.bind()可以显式绑定this到正确的上下文。
  • 注意不要过度使用箭头函数,特别是在对象方法中。
➡️

继续阅读