javascript - js let 和 var問題
仅有的幸福
仅有的幸福 2017-06-26 10:52:34
0
2
887

為什麼用全域變數(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";
        }
仅有的幸福
仅有的幸福

全部回覆(2)
大家讲道理

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

仅有的幸福

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板