0
我想,如果一个文件夹已经存在创造与年底上升数的新文件夹,但我在无限循环增量while循环变得无限
var i=1;
while (myFolder.exists == true) {
var myFolder = new Folder(wf+"/"+curFile+"_folder"+i)
i++;
};
结束任何帮助,将不胜感激。
我想,如果一个文件夹已经存在创造与年底上升数的新文件夹,但我在无限循环增量while循环变得无限
var i=1;
while (myFolder.exists == true) {
var myFolder = new Folder(wf+"/"+curFile+"_folder"+i)
i++;
};
结束任何帮助,将不胜感激。
它看起来像myFolder.exists
是一种方法,而不是一个性质,所以你必须把它叫做:否则
while (myFolder.exists()) {
var myFolder = new Folder(wf + "/" + curFile + "_folder" + i);
i++;
};
,您将得到评估方法本身,这的确是始终true
在布尔上下文。
请注意,在循环内重新定义myFolder
在这里可能不是问题。 Javascript中的循环与封闭代码具有相同的范围,并且该变量将被提升到该范围的开始处。正如jdwire所说,它最初可能是undefined
,但那么你会收到一个错误,而不是触发无限循环。
您不断重新声明myFolder并创建新文件夹(无论这些文件是什么)。 – j08691 2013-03-01 15:36:00
结束循环的if条件在哪里? – vikasing 2013-03-01 15:36:52
在while循环的第一次迭代之前声明了myFolder变量。 while循环的主体永远不会被执行,因为myFolder是null,并且会抛出一个错误。 – 2013-03-01 15:38:28