No entiendo por qué una función de devolución de llamada definida con () solo se ejecuta inmediatamente y nunca más. Por ejemplo:
<body> <button type="button">Click Me!</button> <script> const buttonElement = document.querySelector('button'); function sayHello(e){ console.log("hello") } buttonElement.addEventListener('click', sayHello()); // function sayHello will be executed imidiately only once buttonElement.addEventListener('click', sayHello); // function sayHello will be executed only when button is clicked </script> </body>
¿Por qué el primer EventListener se ejecutará inmediatamente y nunca volverá a funcionar?