将参数传递给匿名函数 Javascript

passing parameters to anonymous functions Javascript

我不明白为什么你不需要将参数name传递给addEventListener中的匿名函数。为什么需要传递 e 而不是 name。 我的意思是第 6 行在行尾,function(e)

let btn = document.querySelector(".test-btn");
  function firstFunction(e,name){
    e.preventDefault();
    btn.innerHTML = name;
  }
  btn.addEventListener("click",function(e){
    firstFunction(e, "Elon");
  });

函数参数允许某个位置的块(比方说块 A)将信息发送到其他位置的函数块(比方说块 B)。当您传递参数时,信息可以从 A 流向 B,如果A 发送一个参数,B 接受一个参数。

这里,正在发送的部分信息在点击回调中被初始化:

btn.addEventListener("click",function(e){
  firstFunction(e, "Elon");
});

点击事件e由浏览器初始化并发送给回调。但是 "Elon" 字符串是在回调中创建的。最后,回调 firstFunction(e, "Elon") 将两条信息传递给 firstFunction 或 B 块。

因为传递的额外信息是在点击回调内部创建的,而不是由点击回调的调用者创建的,所以点击回调只接受一个参数,即事件。