繁体   English   中英

递增的while循环变为无限

[英]Incremental while loop becomes infinite

我试图创建一个新文件夹,如果文件夹已经存在,则最后一个升序,但是我最终陷入无限循环

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 ,但是随后您将收到错误,而不是触发无限循环。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM