我试图弄清楚我或 CS5 JavaScript 引擎是否有问题。我的 Photoshop 文档有一个名为“A”的图层和一个名为“Group 1”的图层组。
考虑这个例子:
var Mess = "";
var Layers = app.activeDocument.layers;
alert(Layers.length);
for (n=0; n<app.activeDocument.layers.length; n++) {
Mess = Mess + app.activeDocument.layers[n].name + "\r\n";
}
alert(Mess);
这将显示 2 的长度,然后列出图层:
A
Group 1
到目前为止一切都很好。但是如果我们在 foror 循环中使用变量 Layers 来代替,我们会得到不同的结果。
var Mess = "";
var Layers = app.activeDocument.layers;
alert(Layers.length);
for (n=0; n<Layers.length; n++) {
Mess = Mess + app.activeDocument.layers[n].name + "\r\n";
}
alert(Mess);
和之前一样,我们得到长度 2,但现在只列出了一层:
A
这两个代码示例不应该产生相同的结果吗?!?