function processFolder(oSource, strTarget)
{
for (var ext in extArray)
{
var source = oSource.Path + "\\*." + extArray[ext];
try {fso.CopyFile(source, strTarget)} catch(e) {}
}
var subFolders = new Enumerator(oSource.SubFolders);
for (; !subFolders.atEnd(); subFolders.moveNext())
{
var target = strTarget + "\\" + subFolders.item().Name;
processFolder(subFolders.item(), target)
}
}
При рекурсивном вызове функции
processFolder локально объявленные переменные
subFolders и
source перезаписываются и, соответственно, весь алгоритм рушится. Почему так происходит? Ведь явно указано var перед определением переменной. Как этого избежать? Ничего не понимаю. Прошу вашего совета, дамы и господа.