Avatar ·

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