javascript不同的迴圈方式

2021-08-01 18:58:30 字數 1536 閱讀 5485

1、說起迴圈,我麼有基本的for迴圈,類似於這樣用:

var arr = [1,2,3];

//迴圈輸出

for(var i = 0; i < arr.length; i++)

但是這有乙個問題,我們迴圈遍歷,不僅僅是陣列,如果遍歷物件怎麼辦?這就需要我們了解我們的另乙個迴圈方式,for…in

2、for…in迴圈方式的提出,是針對解決物件的遍歷問題。一般我們這樣使用:

var

object = ;

//迴圈輸出

for(var i in

object)

輸出的結果是:

但是隨著大量的programmer的使用,發現乙個問題,陣列的本質也是乙個物件,我們給陣列這個物件新增一條屬性,會出現什麼問題呢?(這裡最大的問題就是使用for in迴圈出現length不匹配的問題,下標也會出現錯亂);

例項如下:

var arr = [1,2,3];

arr.name = 'mapbar_front';

for(var i in arr)

console.log(arr.length);//

3,但是長度應該是4才對

console.log(arr[3]);//

undefined

這裡的輸出結果如下所示:

面對解決這樣的問題,我們其實很少使用for…in迴圈

一般而言,我們使用的是乙個陣列的foreach方法,基本的使用方式是這樣的:

var arr = [1,2,3];

arr.name = 'mapbar_front';

arr.foreach((item)=>);

//1,2,3.不包含'mapbar_front'

3、foreach是作為陣列的一種解決方案,但是我們的遍歷應該有一種合適的語法結構來解決,而不是依靠某乙個方法。這就是今天的主角for…of迴圈。(完美的解決了前面所提出的問題);

基本的使用方式是:

var a = ['a', 'b', 'c'];

var s = new set(['a', 'b', 'c']);

var m = new map([[1, 'x'], [2, 'y'], [3, 'z']]);

for (var x of a)

for (var x of s)

for (var x of m)

for…of 迴圈的好處是能夠迴圈任何型別的物件,包括array、map、set型別等等。(在新的es語法規則中,這三種型別被統一描述為iterable型別。)

JavaScript的迴圈結構

迴圈結構 1迴圈結構的概念 先看看生活中的一些場景 1 食堂阿姨打菜 接過顧客的餐盤 詢問菜品 打菜 遞迴餐盤,重複以上過程,直到所有顧客的菜都打完了。2 快遞員送快遞 檢視送件位址 趕往目的地 告知收件人 收件人簽收 交快遞件,重複以上過程,直到所有需要的快遞都處理完了。以上場景都有乙個共同的特點...

JavaScript的迴圈語句

01 for語句 for迴圈是一種前測試迴圈語句,但它具有在執行迴圈之前初始化變數和定義迴圈後要執行的 的能力。以下是for迴圈的語法 初始化表示式,控制表示式,迴圈後表示式 for initialization expression post loop expression while condi...

javascript中的迴圈

do while語句 var i 0 dowhile i 10 console.log i do while語句至少執行一次,為啥?因為他是先執行邏輯 後判斷,這就意味著第一次迴圈無論條件是否成立。都已經執行了一次邏輯 當條件成立的時候接著迴圈,條件不成立那就跳出迴圈,常用於至少執行一次的迴圈中 w...