[]as编译js的一个问题

var o:Object = new Object();
for ( var key :int in o )
{
}
 
这样的AS代码会编译出

var o=new Object();
for (var key=0 in o){
}
 
这样的JS代码
 
在IOS里真机还是LAYABOX运行都会报
SyntaxError:Cannot assign to the loop variable inside a for-in loop header at line 6089
LAYABOX版本2.2
IOS真机发布NATIVE版本0.9.10
编译器17.10
 
已邀请:

Monica - 知识达人

赞同来自:

按照你描述的这个,在AS中运行就会报错吧
如果你这边在浏览器中可以正常运行的话,麻烦提供一个可以运行的例子,我们看看

tyevlag

赞同来自:

就新建一个空项目加那断代码就行,as运行没问题,android也没问题,就ios有问题

package {
    public class LayaSample {
        
        public function LayaSample() {
            //初始化引擎
            Laya.init(1136, 640);
            
            /**测试 */
            var o:Object = new Object();
            for (var key:int in o)
            {
            }
        }       
    }
}
 

Monica - 知识达人

赞同来自:

如果是在FlashBuilder中运行的话是会报错的

1.png

你可以先把这个类型改成String,至于ios中直接报错这个我们后续会优化

tyevlag

赞同来自:

估计我IDE报错级别不够。。。。主要是Laya编译没报错,运行报错,又无法准确提示位置比较麻烦

要回复问题请先

商务合作
商务合作