js中使用addEventListener 监听的方法调用setInterval如何找到外部方法
时间: 2024-02-27 07:56:41 浏览: 190
JavaScript使用addEventListener添加事件监听用法实例
当你在监听器函数中使用 `setInterval()` 时,它将在全局作用域中寻找函数,而不是在监听器函数所在的作用域中寻找函数。为了解决这个问题,你可以在监听器函数中使用闭包来访问所在作用域中的函数。例如:
```js
function myFunction() {
function myIntervalFunction() {
// 在这里写 setInterval 的代码
}
document.addEventListener('click', function() {
// 在这里调用 myIntervalFunction 函数
setInterval(myIntervalFunction, 1000);
});
}
```
在这个例子中,`myIntervalFunction` 函数定义在 `myFunction` 函数内部,所以它可以访问 `myFunction` 函数内部的任何变量和函数。当 `addEventListener` 回调函数被调用时,它可以访问 `myIntervalFunction` 函数,并将其作为参数传递给 `setInterval` 函数。这样,`setInterval` 将在 `myFunction` 函数的作用域中查找 `myIntervalFunction` 函数,并正确地调用它。
阅读全文