¡Tengo un pequeño problema!
Necesito recuperar el valor de score++ fuera de su función.
Por ejemplo, si el usuario hace clic en "botón" 5 veces, quiero que el resultado de la puntuación sea 5.
¿Cómo usar este resultado en una nueva función?
Busqué sin encontrar solución.
let score = 0; let clickHere = document.getElementById("clickHere"); clickHere.addEventListener("click", () => { score++; // console.log(score) // Add 1 when I click }); console.log(score); // Score = 0 #clickHere { padding: 20px; background-color: #000000; color: #ffffff; font-weight: bold; text-transform: uppercase; display: inline-block; } <div id="clickHere">Click here !</div>:).
El registro de la consola fuera de la devolución de llamada se ejecuta solo una vez. Por cada clic, se ejecuta la devolución de llamada del detector de eventos. Puede hacer todos los cambios relacionados con la variable allí.
let score = 0; let clickHere = document.getElementById("clickHere"); let counterDiv = document.getElementById("counter"); clickHere.addEventListener("click", () => { score++; counterDiv.innerText = "Counter: " + score; // console.log(score) // Add 1 when I click }); console.log(score); // --> Already executed due to asynchronous nature // Score = 0 #clickHere { padding: 20px; background-color: #000000; color: #ffffff; font-weight: bold; text-transform: uppercase; display: inline-block; } <div id="clickHere">Click here !</div> <h4 id="counter">Counter: 0</h4>