Quantcast
Channel: Cocos中文社区 - 最新主题
Viewing all articles
Browse latest Browse all 88737

For of会导致的Symbol未定义问题: Cocos Creator里面似乎要慎用ES6语法

$
0
0

@1329046779 写道:

开发中使用了for of循环,大家知道这个对于数组很方便. 旧的数组循环方式一般是
for(var i = 0; i < array.length; i++){
var item = array[i]
}

ES6 的for of循环简化为:
for(var item of array){
}
瞬间感觉会很爽. 然而使用浏览器调试没有问题, 到了使用模拟器调试的时候, 调用到这儿会显示Symbol未定义, 像这样的:
Simulator: 1099:ReferenceError: Symbol is not defined
at a (C:\r\cocosproj\s24svn\library\bundle.project.js?009:NaN:0)

通过VSCode调试, 发现for of会被转化为旧的循环模式, 循环中出现了Symbol.iterator这样的东东. Symbol貌似也是es6新加的类型? 我记得creator用的是babel做解释器, 估计是babel将for of解释为这样的... 可是, jsb模拟器的js解释引擎到底有多旧, babel解释后的都不能执行吗?

求解决, 也提醒各位亲注意一下, 目前的方案是换回经典for循环.

PS: creator版本为1.3.2

帖子: 4

参与者: 1

阅读整个主题


Viewing all articles
Browse latest Browse all 88737

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>