导读 在JavaScript的世界里,`this`是一个既强大又容易让人困惑的概念。它指向谁?取决于在哪里调用!🤔例如,在普通函数中,`this`通常指向全局...
在JavaScript的世界里,`this`是一个既强大又容易让人困惑的概念。它指向谁?取决于在哪里调用!🤔
例如,在普通函数中,`this`通常指向全局对象(在严格模式下是`undefined`)。但在方法中,`this`则指向调用该方法的对象。箭头函数更特殊,它的`this`绑定的是定义时所在的上下文,而不是运行时的上下文。🎯
💡举个例子:
```javascript
const obj = {
name: 'Alice',
sayHello() {
console.log(this); // 指向obj
}
};
obj.sayHello();
```
再比如箭头函数:
```javascript
const obj = {
name: 'Bob',
sayName: () => {
console.log(this); // 指向全局对象或undefined(严格模式)
}
};
obj.sayName();
```
掌握`this`的规则,能让你写出更优雅的代码!🚀 官方文档提供了更多细节,快去查阅吧!📚✨