Javascript基礎(chǔ)教程之for循環(huán)
js for 循環(huán)可以將代碼塊執(zhí)行指定的次數(shù)。
JavaScript 循環(huán)
我們可以這樣輸出數(shù)組的值:如果您希望一遍又一遍地運(yùn)行相同的代碼,并且每次的值都不同,那么使用循環(huán)是很方便的。
document.write(cars[0] + "<br>"); document.write(cars[1] + "<br>"); document.write(cars[2] + "<br>"); document.write(cars[3] + "<br>"); document.write(cars[4] + "<br>"); document.write(cars[5] + "<br>");
不過(guò)我們這樣寫
for (var i=0; i<cars.length;i++){ document.write(cars[i]+"<br>"); }
舉例:輸出1-100的數(shù)字
for(var i=0;i <=100;i++){ document.write(i+"<br>") }
for是前測(cè)試循環(huán),而且在循環(huán)之前能夠初始化變量,并且定義循環(huán)后要執(zhí)行的代碼,其語(yǔ)法如下
for(inintialization;expression;psot=loop-expression)statement
執(zhí)行的過(guò)程如下:
1.執(zhí)行initialization語(yǔ)句
2.判斷expression是否為true,如果是則是繼續(xù),否則終止整個(gè)循環(huán)體。
3.執(zhí)行循環(huán)體statement代碼
4.執(zhí)行post-loop-expression代碼
5.返回第2步操作
for循環(huán)最常用的形式是for(var i=0; i<n;i++){statement}
它表示循環(huán)一共執(zhí)行n次,非常適合用于已知的循環(huán)次數(shù)運(yùn)算。
var aNumbers = new Array();
var sMessage = "你輸入了:\n";
var iTotal = 0;
var vUserInput;
var iArrayIndex = 0;
do{
vUserInput = prompt("輸入一個(gè)數(shù)字,或者'0'退出","0");
aNumbers[iArrayIndex] = vUserInput;
iArrayIndex++;
iTotal += Number(vUserInput);
sMessage += vUserInput + "\n";
}while(vUserInput != 0) //當(dāng)輸入為0(默認(rèn)值)時(shí)退出循環(huán)體
sMessage += "總數(shù):" + iTotal;
document.getElementById("xxx").innerHTML=sMessage;
不同類型的循環(huán)
JavaScript 支持不同類型的循環(huán):
for - 循環(huán)代碼塊一定的次數(shù)
for/in - 循環(huán)遍歷對(duì)象的屬性
while - 當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊
do/while - 同樣當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊
For 循環(huán)
for 循環(huán)是您在希望創(chuàng)建循環(huán)時(shí)常會(huì)用到的工具。
下面是 for 循環(huán)的語(yǔ)法:
for (語(yǔ)句 1; 語(yǔ)句 2; 語(yǔ)句 3)
{
被執(zhí)行的代碼塊
}
語(yǔ)句 1 在循環(huán)(代碼塊)開始前執(zhí)行
語(yǔ)句 2 定義運(yùn)行循環(huán)(代碼塊)的條件
語(yǔ)句 3 在循環(huán)(代碼塊)已被執(zhí)行之后執(zhí)行
實(shí)例
for (var i=0; i<5; i++) { x=x + "The number is " + i + "<br>"; }
從上面的例子中,您可以看到:
Statement 1 在循環(huán)開始之前設(shè)置變量 (var i=0)。
Statement 2 定義循環(huán)運(yùn)行的條件(i 必須小于 5)。
Statement 3 在每次代碼塊已被執(zhí)行后增加一個(gè)值 (i++)。
語(yǔ)句 1
通常我們會(huì)使用語(yǔ)句 1 初始化循環(huán)中所用的變量 (var i=0)。
語(yǔ)句 1 是可選的,也就是說(shuō)不使用語(yǔ)句 1 也可以。
您可以在語(yǔ)句 1 中初始化任意(或者多個(gè))值:
實(shí)例:
for (var i=0,len=cars.length; i<len; i++) { document.write(cars[i] + "<br>"); }
同時(shí)您還可以省略語(yǔ)句 1(比如在循環(huán)開始前已經(jīng)設(shè)置了值時(shí)):
實(shí)例:
var i=2,len=cars.length; for (; i<len; i++) { document.write(cars[i] + "<br>"); }
語(yǔ)句 2
通常語(yǔ)句 2 用于評(píng)估初始變量的條件。
語(yǔ)句 2 同樣是可選的。
如果語(yǔ)句 2 返回 true,則循環(huán)再次開始,如果返回 false,則循環(huán)將結(jié)束。
提示:如果您省略了語(yǔ)句 2,那么必須在循環(huán)內(nèi)提供 break。否則循環(huán)就無(wú)法停下來(lái)。這樣有可能令瀏覽器崩潰。請(qǐng)?jiān)诒窘坛躺院蟮恼鹿?jié)閱讀有關(guān) break 的內(nèi)容。
語(yǔ)句 3
通常語(yǔ)句 3 會(huì)增加初始變量的值。
語(yǔ)句 3 也是可選的。
語(yǔ)句 3 有多種用法。增量可以是負(fù)數(shù) (i--),或者更大 (i=i+15)。
語(yǔ)句 3 也可以省略(比如當(dāng)循環(huán)內(nèi)部有相應(yīng)的代碼時(shí)):
實(shí)例:
var i=0,len=cars.length; for (; i<len; ) { document.write(cars[i] + "<br>"); i++; }
For/In 循環(huán)
JavaScript for/in 語(yǔ)句循環(huán)遍歷對(duì)象的屬性:
實(shí)例
var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=txt + person[x]; }
您將在有關(guān) JavaScript 對(duì)象的章節(jié)學(xué)到更多有關(guān) for / in 循環(huán)的知識(shí)。
While 循環(huán)
while 循環(huán)和 do/while 循環(huán)點(diǎn)擊可以查看這篇文章。
以上就是關(guān)于javascript中for循環(huán)的全部?jī)?nèi)容了,希望小伙伴們喜歡。
相關(guān)文章
javascript學(xué)習(xí)筆記(六)數(shù)據(jù)類型和JSON格式
JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式,我們稱之為JavaScript對(duì)象表示法。使用JSON進(jìn)行數(shù)據(jù)傳輸?shù)膬?yōu)勢(shì)之一是JSON實(shí)際上就是JavaScript。它基于ECMAScript第3版中JavaScript對(duì)象字面量語(yǔ)法子集的一種文本格式。2014-10-10javascript如何創(chuàng)建表格(javascript繪制表格的二種方法)
利用js來(lái)動(dòng)態(tài)創(chuàng)建表格有兩種格式,appendChild()和insertRow、insertCell()。兩種方式其實(shí)差不多,但第一種有可能在IE上有問(wèn)題,所以推薦大家使用第二種方法,看下面的解決和使用方法2013-12-12javascript history對(duì)象(歷史記錄)使用方法(實(shí)現(xiàn)瀏覽器前進(jìn)后退)
本文主要介紹了window.history對(duì)象使用方法2014-01-01實(shí)現(xiàn)網(wǎng)頁(yè)頁(yè)面跳轉(zhuǎn)的幾種方法(meta標(biāo)簽、js實(shí)現(xiàn)、php實(shí)現(xiàn))
今天總結(jié)了幾種頁(yè)面跳轉(zhuǎn)的方法,分別是用meta標(biāo)簽實(shí)現(xiàn)、用javascript實(shí)現(xiàn)、用php實(shí)現(xiàn),下面就來(lái)一一分享一下吧。2014-05-05