如何能够调用闭包外的this?
时间: 2023-10-08 09:05:56 浏览: 65
js闭包是什么?.pdf
要在闭包中访问外部的 `this`,可以使用 JavaScript 中的一些技巧。以下是两种常用的方法:
1. 使用箭头函数:箭头函数不会创建自己的 `this` 上下文,而是继承外部作用域的 `this`。这意味着在箭头函数中可以直接访问外部作用域的 `this`。
```javascript
function outerFunction() {
const self = this; // 保存外部的 this
const innerFunction = () => {
console.log(self); // 在闭包中访问外部的 this
};
innerFunction();
}
```
在上述示例中,我们使用了箭头函数 `innerFunction`,并在闭包中使用 `self` 来引用外部的 `this`。
2. 使用 `bind()` 方法:可以使用 `bind()` 方法将外部的 `this` 绑定到闭包函数中。
```javascript
function outerFunction() {
const innerFunction = function() {
console.log(this); // 在闭包中访问外部的 this
}.bind(this);
innerFunction();
}
```
在上述示例中,我们使用 `bind(this)` 将外部的 `this` 绑定到闭包函数 `innerFunction` 中。
使用这些方法之一,你可以在闭包中访问到外部作用域中的 `this`。请根据你的具体情况选择合适的方法。
希望这个解答对你有所帮助!如果你还有其他问题,请随时提问。
阅读全文