Si utilizo el siguiente código, la alerta dirá 10 . Quiero que diga 5 .
var a = 5; var b = document.getElementById("element").onclick = ()=>alert(a); a = 10;¿Cómo puedo crear un detector de eventos que use el valor de una variable desde el momento en que se creó, en lugar de una referencia que cambiará si modifico el valor más adelante?
Utilice un IIFE que capture el valor actual de a archivo .
var a = 5; document.getElementById("element").onclick = ((x) => ()=>alert(x))(a); a = 10; <button id="element">Click</button>