JavaScript 中的 'this' 关键字
如果你是 JavaScript 新手,那么你可能会觉得`this`关键字有点棘手。在这篇博客中,我将讨论 `this` 关键字的一些基础知识,包括它的用法和常见问题。
“这”是什么?
通常,`this` 关键字指的是它所属的对象或父对象。但它的含义也会根据使用上下文而有所不同。例如,在方法中,`this`指的是它的父对象。单独使用时,`this`指的是全局对象。在函数中,`this`也指的是全局对象。但在启用了严格模式的函数中,`this`指的是未定义对象。在事件中,`this`指的是接收到该事件的元素。例如:
但有时这会造成很多混乱。例如:
当我们在 `setTimeout` 中使用`this`时,它会为`this`创建自己的上下文。因此,它无法访问外部作用域中绑定到自身作用域的`this` 。由于`this`未在函数内部定义,所以输出结果为 `undefined`。有两种方法可以解决这个问题。
- 使用另一个变量:我们可以在函数内部创建另一个变量,并使用它来访问 id。
- 使用箭头函数:我们也可以使用箭头函数来解决这个问题。由于箭头函数不会创建自己的'this'上下文,我们可以访问其父元素的'this' 。
如果你喜欢我的博客并想与我联系,请在LinkedIn和Twitter上关注我。
文章来源:https://dev.to/debajit13/this-keyword-in-javascript-2gh



