增量while循环变为无限

时间:2013-03-01 15:34:10

标签: javascript while-loop directory infinite-loop

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

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

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

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

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

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