理解 JavaScript 对象和函数中的 "this"

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

内容提要

在JavaScript中,理解`this`的作用域很重要。在全局中,`this`指向全局对象。在对象方法中,`this`指向该对象。但在箭头函数中,`this`指向定义时的上下文,而非调用时的对象,这可能导致无法访问对象属性。

🎯

关键要点

  • 在JavaScript中,理解'this'的作用域非常重要。
  • 'this'是一个关键字,表示作用域,可以是全局作用域或代码块内的作用域。
  • 在全局作用域中,'this'指向全局对象。
  • 在对象方法中,'this'指向该对象。
  • 在箭头函数中,'this'指向定义时的上下文,而不是调用时的对象。
  • 如果在全局作用域中调用一个函数,'this'会指向全局对象,导致无法访问局部变量。
  • 通过将函数作为对象的方法,可以正确访问对象的属性。
  • 箭头函数在对象中使用时,'this'会指向全局作用域,可能导致返回undefined。
  • 理解'this'的作用域可以避免在编写JavaScript代码时遇到困惑。

延伸问答

JavaScript中的'this'指的是什么?

'this'是一个关键字,用于表示作用域,可以是全局作用域或代码块内的作用域。

在全局作用域中,'this'指向哪个对象?

在全局作用域中,'this'指向全局对象。

对象方法中的'this'指向什么?

在对象方法中,'this'指向该对象。

箭头函数中的'this'是如何工作的?

在箭头函数中,'this'指向定义时的上下文,而不是调用时的对象。

为什么在全局调用函数时'this'会返回undefined?

因为在全局调用函数时,'this'指向全局对象,但如果函数内部没有对应的变量,返回值会是undefined。

如何在对象中正确使用'this'?

通过将函数作为对象的方法,可以确保'this'指向该对象,从而正确访问对象的属性。

➡️

继续阅读