JavaScript 中 this 关键字如何工作以及何时使用它?
大家好!我是 JavaScript 新手,总是对 `this` 关键字感到困惑。我读过文档,但觉得太复杂了。我有这样一段代码:
```javascript
const user = {
name: '安娜',
greet: function() {
console.log('你好,' + this.name);
}
};
const greetFunc = user.greet;
user.greet(); // 输出 "你好,安娜" — 有效!
greetFunc(); // 输出 "你好,undefined" — 为什么?
```
当我调用 `user.greet()` 时,一切正常。但如果我将方法保存到变量中并调用它,`this.name` 就变成了 `undefined`。为什么会这样?另外,我听说 `this` 在箭头函数和普通函数中表现不同。我如何理解 `this` 在我的代码中会引用什么?什么时候应该使用 `this`,什么时候最好将对象作为参数传递?希望能得到简单易懂的解释和示例。
<<>>
什么是
什么是 this 以及为什么它表现不可预测?
关键字 this