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