JS中for 迴圈 與 for in 迴圈的區別

2021-08-10 21:54:05 字數 1445 閱讀 2613

首先得先介紹一下什麼是for 迴圈,什麼是for in迴圈

for迴圈語法

for (設定初始值;設定迴圈執行的條件;步長累加)
第一步:設定初始值

第二步:驗證(設定)迴圈能夠執行的條件

第三步:條件成立,執行迴圈體中的內容,不成立直接結束迴圈。

舉兩個小栗子看一下

for(var i=0;i<5)

// 這個迴圈是個「死迴圈」,因為條件一直成立,i永遠是0,條件一直成立,迴圈一直執行下去。。。

缺少步長累加,條件一直成立。。。

注:專案中千萬不要出現「死迴圈」,一旦出現死迴圈,下面的**就執行不下去了。(因為迴圈屬於同步程式設計,上面執行不完成,下面是**根本不會執行,我以後為介紹同步程式設計和非同步程式設計的概念與區別的,嘿嘿)

這就是乙個中規中矩的for迴圈。

for(var i=0;i<5;i++)

console.log(i); //

=>迴圈結束這個操作=>

5for(var i=0 ;i<5;i+=3)

console.log(i); //

=> i此時是6

所謂結束整體迴圈:其實就是當迴圈體中暈倒break,break後面的操作語句都不再執行,步長累加也不再執行,所有和迴圈有關的都結束了。

for(var i=0;i<10;i+=2)else

console.log(i);

}console.log(i); //問:這個迴圈的輸出結果

看到這裡的童鞋,不妨看看這個題的結果是多少。。。

for in迴圈

一句話:for in迴圈是用來遍歷(迴圈)物件鍵值對的。

var obj =
// => 物件中有多少組鍵值對,我們的for in 迴圈就遍歷多少次。

// => 每一次迴圈,key這個變數儲存的都是當前迴圈這組鍵值對的屬性名。

// => 1.key儲存的值都是字串格式的,(不管屬性名是否是有效數字).

// => 2.在for in迴圈遍歷的時候,大部分瀏覽器都是先把物件中的鍵值對進行排序(把數字屬性名的排在前面,並且排列的時候

// 按照數字有小到大排列,其次把非數字的屬性名按照之前重新的順序排列,迴圈的時候按照重新排列的順序依次執行。(小數無效,小數算作字母不算做數字。)

for 迴圈與for in迴圈的區別

for:只會遍歷私有的屬性和方法(更多的是索引),自己在原型上擴充套件的方法不會遍歷出來。

for in:不僅可以遍歷當前物件(或者當前例項)所有的私有的屬性和方法,會遍歷物件的所有可列舉屬性,還可以把原型上自己建立的公共屬性和方法進行遍歷。(注意一點的是:原型上的公有屬性是不可列舉的)

for迴圈與for in迴圈

json是js裡的一種資料格式。var obj json陣列物件 var arr 15,8,12 陣列 alert obj.a 15 alert obj a 15 alert arr 0 15 for var i 0 i for var i in arr for var i in obj 彈出 a ...

for迴圈與for in迴圈

json是js裡的一種資料格式。var obj json陣列物件 var arr 15,8,12 陣列 alert obj.a 15 alert obj a 15 alert arr 0 15 for var i 0 ifor var i in arr for var i in obj 彈出 a 1...

Js中forEach跳出本次迴圈和終止迴圈

可使用return語句跳出本次迴圈,執行下一次迴圈 var arr 1 2,3 4,5 6 arr.foreach item console.log item 將輸出 1 2 4 5 6,3不會輸出 foreach無法通過正常流程 如break 終止迴圈,但可通過丟擲異常的方式實現終止迴圈 var ...