首先得先介紹一下什麼是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 ...