[英]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.