Я пытаюсь выяснить, что-то не так со мной или с движком JavaScript CS5. В моем документе Photoshop есть один слой под названием «A» и группа слоев, называемая «Группа 1».Photoshop Javascript странное поведение
Рассмотрим следующий пример:
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 для длины, а затем список слоев:
Группа 1
Все отлично до сих пор. Но если мы в замкнутом цикле будем использовать переменную 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, но теперь только один слой в списке:
Не следует два примера кода дают одинаковый результат?!?
Есть ли предупреждение (app.activeDocument.layers.length) 'say 2? Это единственное, что я вижу. –
Да, 'alert (app.activeDocument.layers.length)' говорит 2. Но если я получаю доступ к объекту слоев через переменную, это не похоже на то же самое. –
этот код производит тот же результат для меня ... –