0

如果文件夹已经存在,我正在尝试创建一个末尾带有升序数字的新文件夹,但我最终陷入无限循环

var i=1;
while (myFolder.exists == true) {
var myFolder = new Folder(wf+"/"+curFile+"_folder"+i)
i++;
};

任何帮助,将不胜感激。

4

1 回答 1

1

看起来像是myFolder.exists一个方法,而不是一个属性,所以你必须调用它:

while (myFolder.exists()) {
    var myFolder = new Folder(wf + "/" + curFile + "_folder" + i);
    i++;
};

否则,您将评估方法本身,它确实总是true在布尔上下文中。

请注意,myFolder在循环内部重新定义可能不是这里的问题。Javascript 中的循环与封闭代码共享相同的范围,并且变量将被提升到该范围的开头。正如 jdwire 所说,undefined最初可能是这样,但随后您会收到错误消息,而不是触发无限循环。

于 2013-03-01T15:45:12.963 回答