for 迴圈

for(变量 = 初始值 ; 循环条件 ; 变量累加方法)
{
循环语句;
}

舉例說明比較清楚,例如循環印出0~7 的數字:

<html>
<head>
</head>
<body>
<script>
for(var i=0;i<8;i++)
{
document.write("number is "+i+"<br>");
}
</script>
</body>
</html>

在瀏覽器中的效果:

QQ截图20161012132414.png

##for循環最常用的地方是利用索引來遍歷數組:

var arr = ['Apple', 'Google', 'Microsoft'];
var i, x;
for (i=0; i<arr.length; i++) {
    x = arr[i];
    alert(x);
}

for循環的3個條件都是可以省略的,如果沒有退出循環的判斷條件,就必須使用break語句退出循環,否則就是死循環:

var x = 0;
for (;;) { // 将无限循环下去
    if (x > 100) {
        break; // 通过if判断来退出循环
    }
    x ++;
}
<!DOCTYPE html>
<html>
<body>
<script>
cars=["BMW","Volvo","Saab","Ford"];
for (var i=0;i<cars.length;i++)
{
document.write(cars[i] + "<br>");
}
</script>
</body>
</html>

for ... in

#for循環的一個變體是for ... in循環,它可以把一個對象的所有屬性依序循環出來:

var o = {
    name: 'Jack',
    age: 20,
    city: 'Beijing'
};
for (var key in o) {
    alert(key); // 'name', 'age', 'city'
}

要過濾掉物件繼承的屬性,用hasOwnProperty()來實現:

var o = {
    name: 'Jack',
    age: 20,
    city: 'Beijing'
};
for (var key in o) {
    if (o.hasOwnProperty(key)) {
        alert(key); // 'name', 'age', 'city'
    }
}

由於Array也是對象,而它的每個元素的索引被視為物件的屬性,因此,for ... in迴圈可以直接循環出Array的索引:

var a = ['A', 'B', 'C'];
for (var i in a) {
    alert(i); // '0', '1', '2'
    alert(a[i]); // 'A', 'B', 'C'
}


#

繼續學習
||
<html> <head> </head> <body> <script> for(var i=0;i<8;i++) { document.write("number is "+i+"<br>"); } </script> </body> </html>