我想每个曾经用 Javascript 编写过代码的人都知道这些事件。作为一个例子,我有:
document.addEventListener("keydown", function(event) {
console.log(event.code);
});
但我的头脑仍然不明白:将其命名为“event”或“e”是否至关重要,或者可以将其称为不同的名称,例如“pastry”吗?如果是,那么该函数如何知道它必须侦听事件并标记它们或将它们原样返回? “addEventListener”是否只是说函数中必须有一个事件,无论名称如何?
JavaScript 函数是
Function
类型的对象。当您创建这样的匿名函数时,您实际上是在创建一个带有参数和主体的新 Function
对象。然后,您将此对象作为参数提供给 document.addEventListener
函数,该函数反过来为函数的第一个参数提供一个值(无论参数名称如何)并执行它。您的函数对 document.addEventListener
一无所知(尽管您可以在函数中获取它的名称),它只是使用提供的值运行。
addEventListener()
是一个带有两个参数的函数:一个字符串,指示要侦听的事件类型,以及一个侦听器,侦听器是将接收事件的对象。
监听器的名称并不重要,可以是一个变量来存储事件,但最常见的是使用函数。
在您的示例中,“event”是标识为侦听器的函数的参数,因此该函数的参数(如果您提供了一个)将包含该事件,并且可以根据您的喜好命名(例如您的中的“pastry”)示例)。
您可以在
mozilla 文档上了解有关
addEventListener()
的更多信息