ES6: for(let i ...) 會報not defined錯誤
微信web開發者工具 v0.13.140600
for (let i=0, i< 10 ; i++){
....
}
開啟ES6轉ES5,開啟代碼壓縮,在手機端預覽會報not defined.
解決方案:
let i;
for( i = 0 ,i<10 ,i++){ ... }
或者
for (var i=0 ; i<10 ; i++){ ... } ;
--------
項目審核上線后發現部分頁面顯示出錯,但是在開發工具上正常。后來發現與“ES6轉ES5”有關。
以下是部分代碼,在開啟“ES6轉ES5”時,開發工具調試正常,真機預覽出錯。
let tabIdx = 0;
for (let i = 0; i < tabs.length; i++) {
let tab = tabs;
if (tab.status == status) {
tabIdx = i;
break;
}
}
修改方案:
但是個人認為第一種方案用let應該也是可以的,為何出錯,是否是開發工具在“ES6轉ES5”時有問題?
同 ES6 => ES5 無關 是代碼壓縮導致的bug