-1
<script type="text/javascript">
    function B()
    {
        alert('2');
        A();
    }

    function A()
    {
        alert('1');
        B();
    }
</script>

<html>
<body onload="A();">
</body>
</html>

jQueryなしでJavaScriptを使用してそれを行うことは可能ですか? 私のスクリプトでは、A は B を呼び出すことができますが、B は A を呼び出すことはできませんか? 私のスクリプトで B が A を呼び出せない理由がわかりません。A が終了していないため、B が現在 A を呼び出すことができないためかどうかはわかりません。A>B>A>B>A>B は無限ループになります。上記の結果を何らかの方法で行うことはできますか?

4

1 に答える 1

0

setTimeoutまたはsetInterval関数を使用します。それらは非同期で動作しています。

function B()
{
    alert('2');
    setTimeout(A, 1);
    alert('3');
}

function A()
{
    alert('1');
    setTimeout(B, 1);
}

関数 B では、javascript は 1 ミリ秒待機して関数 A を呼び出しますが、B でコードを実行し続けるため、「3」が警告され、A を呼び出す前に B が終了します。

于 2012-12-04T08:23:46.603 に答える