<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ~~~ /* * JS中的同步編程和異步編程 * 同步編程:任務是按照順序依次處理,當前這件事沒有徹底做完,下一件事是執行不了的 * 異步編程:當前這件事沒有徹底做完,需要等待一段時間才能繼續處理,此時我們不等,繼續執行下面的任務,當后面的任務完成后,再去把沒有徹底完成的事情完成 * * [JS中的異步編程] * 1.所有的事件綁定都是異步編程 xxx.onclick=function(){} * 2.所有的定時器都是異步編程 setTimeout(function(){},1000) * 3.AJAX中一般都使用異步編程處理 * 4.回調函數也算是異步編程 * ... */ // let n = 0; // setTimeout(() => { // console.log(++n);//=>2) 1 // }, 1000); // console.log(n);//=>1) 0 //=>定時器設定一個時間,到達時間后不一定執行(如果當前還有其它的同步任務正在處理,那么到時間了也得等著) // let n = 0; // setTimeout(() => { // console.log(++n); // }, 1000); // console.log(n);//=>0 // while(1===1){ // //=>死循環 // } //=>瀏覽器是如何規劃同步異步機制的 //1.瀏覽器是多線程的,JS是單線程的(瀏覽器只給JS執行分配一個線程):單線程的特點就是一次只能處理一件事情 //進程:每一個應用程序都可以理解為一個進程(瀏覽器打開一個頁面,就相當于開辟一個進程),在一個程序中(進程中)我們經常會同時干很多事情,此時我們可以分配多個線程去同時完成多項任務 //2.JS在單線程中實現異步的機制,主要依賴于瀏覽器的任務隊列完成的。瀏覽器中有兩個任務隊列(主任務隊列、等待任務隊列) // setTimeout(() => { // console.log(1); // }, 20); // console.log(2); // setTimeout(() => { // console.log(3); // }, 10); // setTimeout(() => { // console.log(4); // }, 100); // for (let i = 0; i < 90000000; i++) { // // } // console.log(5); //=>測試程序反應時間 // // let startTime = new Date(); // console.time('AA'); // for (let i = 0; i < 90000000; i++) { // // } // // console.log(new Date() - startTime); // console.timeEnd('AA'); // let n = 0; // setTimeout(() => { // console.log(++n); // }, 0);//=>定時器時間因子設置為零也不是立即執行,每個瀏覽器都有一個自己最小的等待和反應時間(谷歌:5~6 IE:10~13),所以寫零還是異步編程 // console.log(n); //=>思考題 setTimeout(() => { console.log(1); }, 20); console.log(2); setTimeout(() => { console.log(3); }, 10); console.log(4); for (let i = 0; i < 90000000; i++) { } console.log(5); setTimeout(() => { console.log(6); }, 8); console.log(7); setTimeout(() => { console.log(8); }, 15); console.log(9); ~~~ ![](https://img.kancloud.cn/09/95/099582215451dbc7144c8e47439ab991_301x496.png)
                  <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>

                              哎呀哎呀视频在线观看