自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

前端開發(fā)之JS中編寫For循環(huán)的方法

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

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

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

 

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

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

1、C 風格的“三表達式” For 循環(huán)

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

 

  1. var a = [1,2,3,4] 
  2. for (var i=0; i<a.length; i++){ 
  3.     console.log(a[i]) 

 

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

2、“for…in…”循環(huán)

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

 

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

 

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

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

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

 

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

 

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

3、 數組上的“forEach”方法

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

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

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

由于這篇文章是在討論 for 循環(huán),我們通過一個簡單的例子來看看如何使用 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...”方法就是其中之一。 它使事情變得更加優(yōu)雅。

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

 

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

 

結論

JavaScript 作為一種編程語言,不是靜態(tài)的,而是不斷發(fā)展的。 for 循環(huán)語法的擴展是展示它的一個很好的例子。

責任編輯:華軒 來源: 今日頭條
相關推薦

2016-11-01 19:10:33

vue.js前端前端框架

2021-05-19 07:02:42

JS對象方法

2017-05-02 22:38:44

前端開發(fā)JS事件循環(huán)機制

2017-04-25 17:15:00

2022-08-23 14:23:29

Vue.js命令行前端

2023-04-28 15:20:37

JavaScript事件循環(huán)

2025-02-28 08:36:05

2021-06-18 06:48:54

前端Nest.js技術熱點

2020-11-26 08:38:57

前端 js 庫vue

2022-01-21 19:00:44

前端JS框架

2021-03-09 16:30:50

Java前端框架開發(fā)

2024-01-05 08:49:15

Node.js異步編程

2020-05-20 19:38:11

前端js調試工具

2011-09-30 10:18:50

Web

2021-05-12 07:04:55

Js變量方式

2011-09-08 14:16:12

Node.js

2014-08-01 09:57:52

Node.jsNode.js插件

2016-05-12 15:51:08

前端開發(fā)字符編碼

2013-05-21 09:54:39

Web前端

2015-07-30 10:04:43

viewport前端
點贊
收藏

51CTO技術棧公眾號