欢迎光临,了解微信小程序开发,就上易用通!

微信小程序ES6: for(let i ...) 会报not defined错误

发布:2018-01-24 09:35浏览: 来源:网络 作者:tianshu

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;
      }
    }
修改方案:
  • 开启“ES6转ES5”,红色let改为var,则开发工具和真机预览都正常。
  • 关闭“ES6转ES5”,红色let不改,则开发工具和真机预览都正常。

     
但是个人认为第一种方案用let应该也是可以的,为何出错,是否是开发工具在“ES6转ES5”时有问题?
同 ES6 => ES5 无关 是代码压缩导致的bug





免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。