搜尋

首頁  >  問答  >  主體

javascript - js let 和 var問題

為什麼用全域變數(var i = 0)無法傳入參數,區域變數(let i = 0)卻可以

        for (var i = 0; i < inputs.length; i++) {
            inputs[i].onfocus = function(){
                showTip(i);
            };
        };
        function showTip(n){
            tips[n].style.color = "red";
        }
仅有的幸福仅有的幸福2798 天前858

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-06-26 10:54:34

    日經問題,請自行搜尋:閉包JavaScript的區塊級作用域

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-06-26 10:54:34

    let 只是在目前區塊層級作用域(for的大括號內)有效,每次迴圈可看成一個新的變數。
    可參考阮一峰的 ECMAScript 6 入門 中的let指令

    回覆
    0
  • 取消回覆