javascript - JSFL for…in循环似乎不起作用

原文 标签 javascript flash for-loop jsfl

我正在用Flash CS5的JSFL编写脚本,并且试图从主要时间轴中获取图层列表。我正在获取时间轴,然后使用for ... in循环遍历所有时间,但是我得到的对象似乎未定义。这是我做的一些测试代码:

alert(fl.getDocumentDOM().getTimeline().layers[0].name); //Returns "text1"

for(layer in fl.getDocumentDOM().getTimeline().layers) {
    alert(layer.name); //Returns "undefined"
}


那么,JSFL不支持...输入吗?这有点奇怪,因为它似乎只是一个JavaScript引擎。

最佳答案

哦,在那里。 JSFL不仅是JavaScript引擎,它还是一种怪异的世界JavaScript,它可能非常难以预测。不相信我吗?不知道是否仍然如此,但是请尝试fl.getDocumentDOM().selection.push(<obj>)。它不起作用,但是起作用了:var s = fl.getDocumentDOM().selection; s.push(<obj>) fl.getDocumentDOM().selection = s

也就是说,您的语法已关闭:

var layers = fl.getDocumentDOM().getTimeline().layers;
// include 'var' it's good taste
for(var layer in layers) {
    // for... in iterates the KEYS, so you actually have to do a lookup
    alert(layers[layer].name);
}


顺便说一句,您最好不要遍历具有数字索引的数组,它更清晰,更快速。

关于javascript - JSFL for…in循环似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632389/

相关文章:

javascript - flash.system.Capabilities.screenResolutionY和flash.system.Capabilities.screenResolutionX的报告值是否不正确?

java - 使用循环从输入字符串中删除元音

javascript - 图片中JavaScript的文件路径

javascript - JavaScript导入lit-element在浏览器中给我404错误

windows - AS3/AIR - 桌面应用程序警报 (?)

闪存 9 : How to determine if a streaming track is mono?

matlab - 每行中最大值元素的索引(最后一个索引)

for-loop - F# for 循环错误

javascript - 如何禁用 Chrome 中的拖放功能?

javascript - 如何将大量图像应用于 Three.js 中的平面段