-2

例如,JavaScript 代码如下:

<!DOCTYPE html>
<html>
    <body>
        <script>
            var val = 0;

            var p2 = setInterval(function(){proc2()},1000);
            function proc2()
            {
                // while (val == 0);
                alert(val);
                clearInterval(p2);
            }

            var p1 = setInterval(function(){proc1()},1000);
            function proc1()
            {
                val = 1;
                clearInterval(p1);
            }

        </script>

    </body>
</html>

在 functionproc2()中,我希望它的值val设置为 1 时执行它。所以,我添加了该while(val==0);行,但它不起作用。浏览器卡住了。它有什么问题?在 JavaScript 的 setInterval 函数中添加条件检查的正确方法是什么?

4

1 回答 1

0

它卡在while循环中。在 setInterval 中使用 return 来阻止代码执行,除非满足条件。

while 的问题在于它不断循环并且永远不会离开循环,从而释放线程以进行任何其他调用。

于 2013-08-03T20:32:33.277 回答