Я пытаюсь изучить некоторые javascript, создав скрипт для adobe after effects cs6. Однако я застрял и не могу понять, почему. Позвольте мне объяснить мою проблему.Adobe javascript object undefined after function
в строке 156, в функции doMath, где возникают мои проблемы. Я не могу понять, почему copyarray делает переменные слоев неопределенными. это не только функция copyarray, которая делает переменную неопределенной. Получается getSmallest и getLargest.
Некоторые данные из моего кода, который я распечатал (может быть полезно).
Layername +Y max="80" target="4" inverted
axis Y
maxValue 80
target 4
positive true
inverted true
http://pastebin.com/tWQs4mf8 < --- мой код
function doMath(layers){
for(i=0;i!=layers.length;i++)
{
if(layers[i].axis=="X")
{
layers[i].convertedData=layers[i].Xdata;
}
else
{
layers[i].convertedData=layers[i].Ydata;
}
alert(layers[i]) //Shows on the alert "Object object"
var copy = copyArray (layers[i].convertedData);
alert(layers[i]); //Shows undefined
var smallest = getSmallest(copy);
var largest = getLargest (copy);
var range = largest-smallest;
$.writeln(smallest + " " + " " + largest + " " + range);
if(layers[i].Positive==null)
{
var temp = getConverted(layers[i].convertedData,smallest,range,layers[i].maxValue,layers[i].inverted);
layers[i].convertedData=temp;
}
}
};
function copyArray(a){
var b = [a.length];
for(i=0;i!=a.length;i++)
{
b[i] = a[i];
}
return b;
}
Поскольку я новичок в Javascript простой причине, что происходит очень ценится.
Большое вам спасибо! Вы спасли меня от того, чтобы плакать, чтобы спать! – Shroom