【发布时间】:2014-12-05 17:33:13
【问题描述】:
我遇到了一个我无法解决的问题。我在 javascript 中有一个循环,其中要停止的条件变量取决于全局变量。循环开始循环,当我更改该全局变量的值时,它永远不会停止。
stop = false;
var i = 0;
while ((stop == false) && (i<100000)){
console.log("hi-"+i);
i++;
}
当循环运行时,如果我停止 = true,它永远不会停止。我不知道这是为什么。
有什么想法吗?
谢谢!
【问题讨论】:
-
您的代码不会在循环内更改
stop -
JavaScript 是单线程的。将
stop设置为true的事件处理程序(我想)仅在 while 循环完成后才会执行。 -
@hindmost 我在循环外更改了 stop 的值...
-
@user2422900 所以这就是问题所在。应该在循环里面改,不然没有效果
-
谢谢... 我可以这样做吗? @techfoobar
标签: javascript loops for-loop while-loop