一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - 前端開發之JS中編寫For循環的方法

前端開發之JS中編寫For循環的方法

2021-12-24 20:00清閑的帆船先生 js教程

這些年來,JavaScript 發展得如此之快。如果你之前有其他編程語言經驗的話,你可能無法相信在 JavaScript 中有4種方法可以編寫for 循環。

這些年來,JavaScript 發展得如此之快。如果你之前有其他編程語言經驗的話,你可能無法相信在 JavaScript 中有4種方法可以編寫for 循環。

正如黑格爾所說:“存在就是合理的。”在技術演進的過程中,網絡的力量越來越強大。因此,對于現代 Web 開發的必然語言JavaScript 期望也越來越高。

前端開發之JS中編寫For循環的方法

for 循環的語法就是一個很好的例子。開發人員發現老式不夠好,至少對于每個使用場景。一些第三方庫或框架開始提供一些更好的循環功能。然后,新的JavaScript 標準出現了,你需要再次更新瀏覽器。

本文將按照出現的先后順序總結 JavaScript for 循環的4種編寫方式。閱讀后,你可以像專家一樣正確使用它們。

1、C 風格的“三表達式” For 循環

這是自 ECMAScript 3 (ES3) 以來可用的老式方法。我們可以用三表達式樣式來編寫 for 循環:

  1. var a = [1,2,3,4]
  2. for (var i=0; i
  3. console.log(a[i])
  4. }

不用說,這是一種經典的 C 風格方式。 如果我們愿意,我們可以一直使用這種時尚。 但它在現代 JavaScript 項目中不像以前那么流行,因為我們現在有更方便的方法。

2、“for…in…”循環

為了使對象的迭代更容易,有一個“for...in...”語法,它也可以從 ES3 獲得。

  1. var author = {name: "Yang", job: "programmer"}
  2. for (var k in author){
  3. console.log(k + ':' + author[k]);
  4. }
  5. //name:Yang
  6. //job:programmer

使用這種方式的最佳實踐是永遠不要將它用于數組。 由于數組也是幕后的對象,每一項的索引都被視為對象的屬性,索引順序是依賴于實現的,數組值可能不會按照你期望的順序訪問。

應用“for...in... ”到數組可能會導致一些意想不到的結果。

以下是問題“為什么使用“for...in”進行數組迭代是個壞主意?”的一個很好的例子。 在 StackOverflow 上。

  1. // Somewhere deep in your JavaScript library...
  2. Array.prototype.foo = 1;
  3. // Now you have no idea what the below code will do.
  4. var a = [1, 2, 3, 4, 5];
  5. for (var x in a){
  6. // Now foo is a part of EVERY array and
  7. // will show up here as a value of 'x'.
  8. console.log(x);
  9. }
  10. /* Will display:
  11. 0
  12. 1
  13. 2
  14. 3
  15. 4
  16. foo
  17. */

因此,為了使你的代碼沒有錯誤,永遠不要將“for...in...”應用于數組。

3、 數組上的“forEach”方法

由于“for...in...”不適用于數組。 應該有更好的迭代 JavaScript 數組的方法。 所以 ES5 引入了數組的迭代方法。 在我看來,這種改進使 JavaScript 變得優雅。

迭代方法很多,適用于不同的使用場景:

  • Array.forEach()
  • Array.map()
  • Array.filter()
  • Array.reduce()
  • Array.every()
  • Array.some()

由于這篇文章是在討論 for 循環,我們通過一個簡單的例子來看看如何使用 Array.forEach() 方法:

  1. var author = [ 'Y', 'a', 'n', 'g' ];
  2. author.forEach(function(val){
  3. console.log(val);
  4. });
  5. // Y
  6. // a
  7. // n
  8. // g

4、ES6 中的“for...of...”語法

眾所周知,ES6 是 JavaScript 的里程碑。 這個版本引入了許多很棒的功能。 “for...of...”方法就是其中之一。 它使事情變得更加優雅。

例如,我們可以像下面這樣迭代數組的項:

  1. let author = [ 'Y', 'a', 'n', 'g' ];
  2. for (let char of author){
  3. console.log(char);
  4. }
  5. // Y
  6. // a
  7. // n
  8. // g

結論

JavaScript 作為一種編程語言,不是靜態的,而是不斷發展的。 for 循環語法的擴展是展示它的一個很好的例子。

原文鏈接:https://www.toutiao.com/a7045097719052026379/

延伸 · 閱讀

精彩推薦
  • js教程原生JS運動實現輪播圖

    原生JS運動實現輪播圖

    這篇文章主要為大家詳細介紹了原生JS運動實現輪播圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Bean_s9322021-12-24
  • js教程js仿淘寶放大鏡效果

    js仿淘寶放大鏡效果

    這篇文章主要為大家詳細介紹了js仿淘寶放大鏡效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    屈小康11022021-12-21
  • js教程JavaScript實現滾動加載更多

    JavaScript實現滾動加載更多

    這篇文章主要為大家詳細介紹了JavaScript實現滾動加載更多,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    予傾9872021-12-20
  • js教程微信小程序視頻彈幕發送功能的實現

    微信小程序視頻彈幕發送功能的實現

    這篇文章主要介紹了微信小程序視頻彈幕發送功能的實現,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的...

    保護我方豆豆4822021-12-21
  • js教程js實現頭像上傳并且可預覽提交

    js實現頭像上傳并且可預覽提交

    這篇文章主要介紹了js如何實現頭像上傳并且可預覽提交,幫助大家更好的理解和使用js,感興趣的朋友可以了解下...

    harold10244042021-12-20
  • js教程js用正則表達式篩選年月日的實例方法

    js用正則表達式篩選年月日的實例方法

    在本篇文章里小編給大家整理的是一篇關于js用正則表達式篩選年月日的實例方法,對此有興趣的朋友們可以學習下。...

    小妮淺淺11842021-12-24
  • js教程javascript的事件描述

    javascript的事件描述

    本文主要為大家介紹javascript事件的基礎知識,有需要的朋友可以參考下...

    js教程網9362021-12-15
  • js教程js定時器出現第一次延遲的原因及解決方法

    js定時器出現第一次延遲的原因及解決方法

    在本篇文章里小編給大家整理的是一篇關于js定時器出現第一次延遲的原因及解決方法,對此有需要的朋友們可以學習下。...

    宋宋大人4892021-12-24
主站蜘蛛池模板: 国产欧美日韩专区毛茸茸 | 嫩草视频在线观看免费 | 91麻豆国产福利在线观看 | 国产成人高清精品免费观看 | swag最新正在播放 | 国产亚洲人成网站天堂岛 | 国产亚洲高清国产拍精品 | 日日草视频| www亚洲国产 | 男男18视频免费网站 | 九九影院午夜理论片无码 | 欧美a大片 | 免费欧美一级 | 国内精品久久久久久中文字幕 | 女王脚奴vk| 俄罗斯美女毛茸茸bbwbbw | 午夜神器18以下不能进免费 | 欧美一区二区三区四区五区六区 | 俺去俺来也www色官网免费的 | 亚洲精品国精品久久99热 | 免看一级一片一在线看 | 亚洲视频在线免费 | 大陆黄色片 | 精品在线免费播放 | 处女摘花视频 | 午夜亚洲精品久久久久久 | 香蕉人人超人人超碰超国产 | 欧美性色欧美a在线播放 | 久久久精品3d动漫一区二区三区 | 国产成人综合久久精品红 | 18欧美同性videos可播放 | 天天天天天干 | 精品国产乱码久久久人妻 | ferr孕妇videos毛茸茸 | 问一问免费咨询 | 扒开大腿狠狠挺进视频 | 五月桃花网婷婷亚洲综合 | 亚裔maricahase和黑人 | 欧美1 | 91精品手机国产在线观 | 亚洲精品一 |