偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

 

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

本文將按照出現(xiàn)的先后順序總結 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]) 

 

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

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 

 

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

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

以下是問題“為什么使用“for...in”進行數(shù)組迭代是個壞主意?”的一個很好的例子。 在 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...”應用于數(shù)組。

3、 數(shù)組上的“forEach”方法

由于“for...in...”不適用于數(shù)組。 應該有更好的迭代 JavaScript 數(shù)組的方法。 所以 ES5 引入了數(shù)組的迭代方法。 在我看來,這種改進使 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)雅。

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

 

  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技術熱點

2022-01-21 19:00:44

前端JS框架

2020-11-26 08:38:57

前端 js 庫vue

2021-03-09 16:30:50

Java前端框架開發(fā)

2024-01-05 08:49:15

Node.js異步編程

2011-09-30 10:18:50

Web

2020-05-20 19:38:11

前端js調(diào)試工具

2021-05-12 07:04:55

Js變量方式

2011-09-08 14:16:12

Node.js

2013-05-21 09:54:39

Web前端

2016-05-12 15:51:08

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

2014-08-01 09:57:52

Node.jsNode.js插件

2015-07-30 10:04:43

viewport前端
點贊
收藏

51CTO技術棧公眾號