Javascript 为什么我的事件侦听器在函数完成后仍在函数内部工作?

Javascript 为什么我的事件侦听器在函数完成后仍在函数内部工作?,javascript,function,addeventlistener,event-loop,Javascript,Function,Addeventlistener,Event Loop,有人能解释一下他的工作原理吗?我不会这样说,但这会回答很多关于我工作的问题。我只调用了该函数一次,但即使该函数已完成运行,eventListener也会永久保留。这有什么原因吗 const btn = document.querySelector('button'); function test() { btn.addEventListener('click', showAlert); } function showAlert() { alert("yes"

有人能解释一下他的工作原理吗?我不会这样说,但这会回答很多关于我工作的问题。我只调用了该函数一次,但即使该函数已完成运行,eventListener也会永久保留。这有什么原因吗

const btn = document.querySelector('button');

function test() {
    btn.addEventListener('click', showAlert);
}

function showAlert() {
    alert("yes");
}

test();

我想问题是,为什么您希望它在函数结束时删除事件侦听器?如果函数运行时事件侦听器只持续一两毫秒,事情就不会很顺利了。因为侦听器是注册的,无论谁调用他(无论他是在全局范围内调用还是在其他函数的范围内调用)mark,是的,这完全有意义,我的误解是,事件侦听器通常是外部函数,因此无需调用函数即可访问它们,谢谢
const btn=document.querySelector('button');btn.addEventListener(“单击”,显示警报);btn.click()
也许更容易理解?