迴圈就是重複做一件事,在寫程式碼的過程中,我們常常會遇到一些需要重複執行的動作,例如遍歷一些資料、重複輸出某個字串等等,如果一行行的寫那就太麻煩了,對於這種重複的操作,我們應該選擇使用循環來完成。
循環的目的就是為了重複執某段程式碼,使用循環可以減輕程式壓力,避免程式碼冗餘,提高開發效率,方便後期維護。 while 迴圈是 JavaScript 中提供的最簡單的迴圈語句,下面我們來了解 while迴圈和do-while迴圈的使用。
while迴圈語句是一種當型
迴圈語句,先對迴圈條件進行判斷,當條件滿足,則執行循環體,不滿足時則停止。
作用:重複執行某一項操作,直到指定的條件不成立。
特點:先判斷表達式,當表達式結果為真時執行對應的語句。
1、JS while 迴圈語法
while(表达式){ //表达式为循环条件 // 要执行的代码 }
語句解析:
先計算「表達式」的值,當值為真時, 執行循環體內的「PHP語句塊」;
#說明:「表達式」的計算結果是布林類型( TRUE 或FALSE)的,如果是其他類型的值也會自動轉換為布林類型的值(因為PHP是弱語言類型,會根據變數的值,自動把變數轉換為正確的資料型別)。
「語句塊」就是由
{ }
所包圍的一個或多個語句的集合;如果語句區塊中只有一個語句,也可以省略{ }
。
執行結束後,返回表達式,再次計算表達式的值進行判斷,當表達式值為真,則繼續執行“語句區塊” ……這個過程會一直重複
直到表達式的值為假時才跳出循環,執行while 下面的語句。
while語句的流程圖如下所示:
通常「表達式」是使用比較運算子或邏輯運算子計算後的值
範例程式碼如下:
<script> var i = 1; while( i <= 5) { document.write(i+", "); i++; } </script>
##注意事項
在編寫循環語句時,一定要確保條件表達式的結果能夠為假(即布林值false),因為只要表達式的結果為true ,循環會一直持續下去,不會自動停止,對於這種無法自動停止的循環,我們通常稱之為「無限循環」或「死循環」。 如果不小心造成無限循環,可能會導致瀏覽器或電腦卡死。 如果表達式一直為真,循環條件一直成立,則while 循環會一直執行下去,永不結束,成為「死循環」var i = 1; while(i){ console.log(i); }運行程式後,會一直輸出變量
i的值,直到使用者強制關閉。
JS while 迴圈範例
【範例1】使用while 迴圈計算1~100 之間所有整數的和:<script> var i = 1; var sum=0; while(i<=100){ sum+=i; i++; } console.log("1加到100的值为:"+sum); </script>輸出結果:
<script> var i = 1900; var count = 0; //计数闰年的个数 while (i <= 2020) { //判断是否是闰年 if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { document.write(i + " "); count++; if (count % 6 == 0) { document.write("<br/>"); } } i++; } </script>
2、JS while 迴圈巢狀結構
#while迴圈也可以實現巢狀的效果,也就是while 迴圈裡面嵌套一個或多個while 迴圈。語法格式:
while(条件1){ // 条件1成立执行的代码 while(条件2){ // 条件2成立执行的代码 ...... } }
總結:嵌套就是包含的意思,所謂while循環嵌套,就是一個while裡面嵌套一個while的寫法,每個while和之前的基礎語法是相同的。
這裡,我們定義了兩個 while 迴圈的嵌套,當然,我們可以嵌套任意多個的 while 迴圈。
理解while迴圈執行流程
當內部迴圈執行完成之後,再執行下一次外部迴圈的條件判斷。範例1:使用循環嵌套,印出計數器
<script type="text/javascript"> var i = 0; while(i < 2){ console.log("i =", i); var j = 0; while(j < 2){ console.log("\tj =", j); j += 1; } i++; } console.log("Over"); </script>
首先,我们定义了一个最外层的 while 循环嵌套,计数器 变量 i 从 0 开始,结束条件是 i
在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 i
while循环嵌套总结
JavaScript 的 while 循环也可以实现嵌套的效果,即 while 循环里面嵌套一个或多个 while 循环。
示例2:
<script> /* 1. 循环打印3次媳妇,我错了 2. 刷碗 3. 上面是一套惩罚,这一套惩罚重复执行3天----一套惩罚要重复执行---放到一个while循环里面 */ var j = 0 while(j < 3){ var i = 0 while(i < 3){ document.write('媳妇,我错了<br>') i += 1; } document.write('刷碗<br>') document.write('一套惩罚就结束了!!!!!!!!!!!!<br>') j += 1; } </script>
除了while循环,还有一种 do-while 循环。
do-while循环语句是一种“直到型
”循环语句,它是先在执行了一次循环体中的“语句块”之后,然后再对循环条件进行判断,如果为真则继续循环,如果为假,则终止循环。
因此:不论表达式的结果,do-while循环语句至少会执行一次“语句块”。
do-while循环语句的特点:先执行循环体,然后判断循环条件是否成立。
1、JS do-while 循环语法
do{ 语句块; }while(表达式);//表达式为循环条件
语句解析:
先执行一次循环体中的“语句块”,然后判断“表达式”的值,当“表达式”的值为真时,返回重新执行循环体中的语句块……这个过程会一直重复
直到表达式的值为假时,跳出循环,此时循环结束,执行后面的语句。
说明:
和while循环一样,do-while循环中“表达式”的计算结果一定是布尔型的 TRUE 或 FALSE,如果是其他类型的值也会自动转换为布尔类型的值。
do-while语句最后的分号;
是无法省略的(一定要有),它是do while循环语法的一部分。
do-while循环语句的流程图如下所示:
JS do-while 循环示例
【示例1】使用 do-while 输出1~5数字:
<script> var i = 1; do { document.write(i+", "); i++; }while( i <= 5); </script>
【示例2】使用 while 循环计算 1~100 之间所有整数的和:
<script> var i = 1; var sum=0; do{ sum+=i; i++; }while(i<=100); console.log("1 + 2 + 3 + ... + 98 + 99 + 100 = "+sum); </script>
【示例3】找出 1900 年到 2020 年之间所有的闰年
<script> var i = 1900; var count = 0; //计数闰年的个数 do { //判断是否是闰年 if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { console.log(i); } i++; }while (i <= 2020); </script>
2、JS do-while 循环嵌套结构
do while循环 也可以实现嵌套的效果,即 do while 循环里面嵌套一个或多个 do while 循环。这种写法就类似于 while 循环 的嵌套。
语法:
do{ // 语句块1; do{ // 语句块2; do{ // 语句块2; ...... }while(条件3); }while(条件2); }while(条件1);
这里,我们定义了三个 do while 循环的嵌套,当然,我们可以嵌套任意多个的 do while 循环。
案例:使用循环嵌套,打印计数器
<script type="text/javascript"> var i = 0; do{ console.log("i =", i); var j = 0; do{ console.log("\tj =", j); j += 1; }while(j < 2); i++; }while(i < 2); console.log("Over"); </script>
首先,我们定义了一个最外层的 do while 循环嵌套,计数器 变量 i 从 0 开始,结束条件是 i
在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 i
do while循环嵌套总结
JavaScript 的 do while 循环也可以实现嵌套的效果,即 do while 循环里面嵌套一个或多个 do while 循环。
【推荐学习:javascript高级教程】
以上是JS循環學習:while循環語句的使用(範例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!