Quiero que el script haga 1 2 3 4 5... Pero me da 499. Lo que necesito agregar al script no es agregar números sino solo imprimirlos
function numbers() { for (let i = 0; i < 500; i++) { var spam = i + "<br>"; } document.getElementById('demo20').innerHTML = spam; } function numbers() { const demo20 = document.getElementById('demo20'); for (let i = 0; i < 500; i++) { demo20.insertAdjacentHTML("beforeend", i + "<br>"); } } numbers(); <div id="demo20"></div>Si desea un pequeño retraso en la impresión:
async function numbers() { const demo20 = getElementById('demo20'); for (let i = 0; i < 500; i++) { demo20.getElementById('demo20').insertAdjacentHTML("beforeend", i + "<br>"); await new Promise(res => setTimeout(res, 100)); } } numbers(); <div id="demo20"></div>Su variable de spam se sobrescribe constantemente y al final del ciclo tiene el valor 499. Debe concatenar la variable consigo misma.
var spam = ""; for (let i = 0; i < 500; i++) { var spam += i + "<br>"; }function numbers() { var spam = '' for (let i = 0; i < 500; i++) { spam += i + "<br>"; } document.getElementById('demo20').innerHTML = spam; }