久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      JavaScript中哪種類型的循環(huán)最快?幾種for循環(huán)對比

      JavaScript中哪種類型的循環(huán)最快?幾種for循環(huán)對比

      JavaScript 是 Web 開發(fā)領域的“常青樹”。無論是 JavaScript 框架(如 Node.js、React、Angular、Vue 等),還是原生 JavaScript,都擁有非常龐大的粉絲基礎。我們來談談現(xiàn)代 JavaScript 吧。循環(huán)一直是大多數(shù)編程語言的重要組成部分,而現(xiàn)代 JavaScript 為我們提供了許多迭代或循環(huán)值的方法。

      但問題在于,我們是否真的知道哪種循環(huán)或迭代最適合我們的需求。for 循環(huán)有很多變形,例如 for、for(倒序)、for…offorEach、for…in、for…await。本文將圍繞這些展開討論。

      了解哪一種 for 循環(huán)或迭代器適合我們的需求,防止我們犯下一些影響應用性能的低級錯誤。

      究竟哪一種循環(huán)更快?

      答案其實是: for(倒序)

      最讓我感到驚訝的事情是,當我在本地計算機上進行測試之后,我不得不接受 for(倒序)是所有 for 循環(huán)中最快的這一事實。下面我會舉個對一個包含超過一百萬項元素的數(shù)組執(zhí)行一次循環(huán)遍歷的例子。

      聲明console.time() 結果的準確度在很大程度上取決于我們運行測試的系統(tǒng)配置。你可以在此處對準確度作進一步了解。

      const million = 1000000;  const arr = Array(million);  // 注:這是稀疏數(shù)組,應該為其指定內(nèi)容,否則不同方式的循環(huán)對其的處理方式會不同: // const arr = [...Array(million)]  console.time('⏳'); for (let i = arr.length; i > 0; i--) {} // for(倒序)  :- 1.5ms for (let i = 0; i < arr.length; i++) {} // for          :- 1.6ms arr.forEach(v => v)                     // foreach      :- 2.1ms for (const v of arr) {}                 // for...of     :- 11.7ms console.timeEnd('⏳');

      造成這樣結果的原因很簡單,在代碼中,正序和倒序的 for 循環(huán)幾乎花費一樣的時間,僅僅相差了 0.1 毫秒。原因是,for(倒序)只需要計算一次起始變量 let i = arr.length,而在正序的 for 循環(huán)中,它在每次變量增加后都會檢查條件 i<arr.length。這個細微的差別不是很重要,你可以忽略它。(譯者注:在數(shù)據(jù)量小或對時間不敏感的代碼上,我們大可忽略它,但是根據(jù)譯者的測試,當數(shù)據(jù)量擴大,例如十億,千億等的數(shù)量級,差距就顯著提升,我們就需要考慮時間對應用程序性能的影響了。)

      forEachArray 原型的一個方法,與普通的 for 循環(huán)相比,forEachfor…of 需要花費

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號