Estoy tratando de entender algunos conceptos de java script. Escribí este código:
<html> <button>Click</button> <button>Click</button> <button>Click</button> <button>Click</button> <button>Click</button> <script> var btn = document.getElementsByTagName("button"); for(var i = 0; i<5; i++){ btn[i].onclick = function(){alert(i)} } </script> </html>por cada clic en cada botón obtendré el mismo resultado "5", si cambio la var a let, obtendré el resultado correcto. ¿Alguien puede explicar por qué sucedió?