首页 > 解决方案 > for循环语句中的var关键字解释

问题描述

我试图理解java脚本的一些概念。我写了这段代码:

<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>

每次单击每个按钮我都会得到相同的结果“5”,如果我将 var 更改为 let,我将得到正确的结果。有人可以解释为什么会这样吗?

标签: javascriptglobal-variables

解决方案


推荐阅读