<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 同步和異步 同步和異步的概念發生在兩個程序的交互上。 當程序A向程序B發出請求后: * 如果程序A在程序B返回結果后才執行下一條語句,那么這種方式是同步。 * 如果程序A不等待程序B返回而直接執行下一條語句,那么這種方式是異步。 異步并不是不處理程序B的返回結果,而是選擇預先部署一個函數,等到程序B返回后且程序A空閑時觸發該函數。 在瀏覽器中使用異步的例子: ~~~ setTimeout(function () { console.log('async'); }, 100); console.log('sth...'); ~~~ ![](https://box.kancloud.cn/05bd2e4e33d224a42f2434385713a555_148x46.jpg) 這種由異步觸發的函數被稱為異步回調函數,簡稱異步回調。 另一個常用的異步操作就是ajax,具體此處不再詳述。 # 任務隊列 JS是如何實現異步的? JS內部有一個順序容器,每當有一個異步回調可以被觸發,將加入到容器里的尾部。當JS執行完所有代碼,就會從那個容器的頭部取出一個函數來執行。因為這種特性,我們把該容器稱為任務隊列。 用代碼模擬任務隊列: ~~~ var main = function (code) { var task = [];//每當有一個可觸發的異步回調就task.push(p); eval(code); while (true) { if (task.length !== 0) { var p = task.shift(); p(); } }; } main(all.js) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看