for 迴圈
for(變量 = 初始值 ; 循環(huán)條件 ; 變量累加方法) { 循環(huán)語(yǔ)句; }
舉例說(shuō)明比較清楚,例如循環(huán)印出0~7 的數(shù)字:
<html> <head> </head> <body> <script> for(var i=0;i<8;i++) { document.write("number is "+i+"<br>"); } </script> </body> </html>
在瀏覽器中的效果:
var arr = ['Apple', 'Google', 'Microsoft']; var i, x; for (i=0; i<arr.length; i++) { x = arr[i]; alert(x); }for循環(huán)的3個(gè)條件都是可以省略的,如果沒(méi)有退出循環(huán)的判斷條件,就必須使用break語(yǔ)句退出循環(huán),否則就是死循環(huán):
var x = 0; for (;;) { // 將無(wú)限循環(huán)下去 if (x > 100) { break; // 通過(guò)if判斷來(lái)退出循環(huán) } 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循環(huán)的一個(gè)變體是for ... in循環(huán),它可以把一個(gè)對(duì)象的所有屬性依序循環(huán)出來(lái):var o = { name: 'Jack', age: 20, city: 'Beijing' }; for (var key in o) { alert(key); // 'name', 'age', 'city' }要過(guò)濾掉物件繼承的屬性,用hasOwnProperty()來(lái)實(shí)現(xiàn):
var o = { name: 'Jack', age: 20, city: 'Beijing' }; for (var key in o) { if (o.hasOwnProperty(key)) { alert(key); // 'name', 'age', 'city' } }由於Array也是對(duì)象,而它的每個(gè)元素的索引被視為物件的屬性,因此,for ... in迴圈可以直接循環(huán)出Array的索引:
var a = ['A', 'B', 'C']; for (var i in a) { alert(i); // '0', '1', '2' alert(a[i]); // 'A', 'B', 'C' }
#