我在javascript中有以下代码:
var continueloop = true;
while (continueloop === true) {
main()
}
和
function main() {
//do some stuff here
continueloop = false;
}
在main函数内将continueloop的值设置为false不会导致while循环停止。我怀疑它可能与javascript的函数范围有关,但我可能会错误的是,有人可以向我解释我必须要改变什么才能获得main()函数范围可访问的continueloop变量所需的效果?
谢谢!
答案 0 :(得分:5)
如果它继续下去,你为什么不回来?它更清洁,你也不会遇到任何范围问题。
var continueloop = true;
while (continueloop === true) {
continueloop = main();
}
function main() {
//do some stuff here
return false;
}
// or
while(main());
答案 1 :(得分:0)
如果满足continueloop条件,另一种选择是递归调用main() 根据您的应用程序,这可能允许您将continueloop本地保持为main()。
function main() {
var continueloop = false;
if (continueloop == true) {
main();
}
}
main();