找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索本站精品资源

首页 教程频道 小程序开发 查看内容

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

作者:模板之家 2018-1-24 09:35 2918人关注

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 ,i10 ,i++ ...

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


路过

雷人

握手

鲜花

鸡蛋
原作者: 模板之家 来自: 网络收集

全部回复(0)