为什么当我按下按钮时我的输出成倍增加?我希望它每次点击都有一个输出

Why are my output multiplies when I press the button? I want it to have single output every click

const btn = document.querySelector('button')
let x = 0

const load = ()=>{
    btn.addEventListener('click',()=>{
        console.log(x++)
        load()
    })
}
load()

首次点击:0
第二次点击 : 1, 2
第三次点击:3, 4, 5, 6
第四次点击:7、8、9、10、11、12、13、14

请帮助如何将我的输出变成这样:
第一次点击:0
第二次点击:1
第三次点击:2
第四次点击:3

load 注册一个事件处理器。如果事件处理程序再次调用 load,它将添加另一个事件处理程序,等等

只是不要在事件处理程序中调用 load。甚至根本没有定义 load 的理由:

const btn = document.querySelector('button');
let x = 0;

btn.addEventListener('click',() => {
  console.log(x++)
});

在您的事件侦听器中,您正在调用加载函数,它会再次注册侦听器。第一次,您有 1 个听众。当您按下按钮时,您的侦听器会增加 x 并记录它,并调用加载以第二次注册侦听器。下次按下按钮时,...