首頁 >web前端 >js教程 >JS循環學習:while循環語句的使用(範例詳解)

JS循環學習:while循環語句的使用(範例詳解)

青灯夜游
青灯夜游原創
2022-08-03 18:04:318453瀏覽

JS循環學習:while循環語句的使用(範例詳解)

迴圈就是重複做一件事,在寫程式碼的過程中,我們常常會遇到一些需要重複執行的動作,例如遍歷一些資料、重複輸出某個字串等等,如果一行行的寫那就太麻煩了,對於這種重複的操作,我們應該選擇使用循環來完成。

循環的目的就是為了重複執某段程式碼,使用循環可以減輕程式壓力,避免程式碼冗餘,提高開發效率,方便後期維護。 while 迴圈是 JavaScript 中提供的最簡單的迴圈語句,下面我們來了解 while迴圈和do-while迴圈的使用。

一:while迴圈

while迴圈語句是一種當型迴圈語句,先對迴圈條件進行判斷,當條件滿足,則執行循環體,不滿足時則停止。

作用:重複執行某一項操作,直到指定的條件不成立。

特點:先判斷表達式,當表達式結果為真時執行對應的語句。

1、JS while 迴圈語法

while(表达式){    //表达式为循环条件
     // 要执行的代码
}

語句解析:

  • 先計算「表達式」的值,當值為真時, 執行循環體內的「PHP語句塊」;

    #說明:「表達式」的計算結果是布林類型( TRUE 或FALSE)的,如果是其他類型的值也會自動轉換為布林類型的值(因為PHP是弱語言類型,會根據變數的值,自動把變數轉換為正確的資料型別)。

    「語句塊」就是由{ }所包圍的一個或多個語句的集合;如果語句區塊中只有一個語句,也可以省略{ }

  • 執行結束後,返回表達式,再次計算表達式的值進行判斷,當表達式值為真,則繼續執行“語句區塊” ……這個過程會一直重複

  • 直到表達式的值為假時才跳出循環,執行while 下面的語句。

while語句的流程圖如下所示:

JS循環學習:while循環語句的使用(範例詳解)

通常「表達式」是使用比較運算子或邏輯運算子計算後的值

範例程式碼如下:

<script>
var i = 1;
while( i <= 5) {
    document.write(i+", ");
    i++;
}
</script>

JS循環學習:while循環語句的使用(範例詳解)

##注意事項

在編寫循環語句時,一定要確保條件表達式的結果能夠為假(即布林值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>

輸出結果:


JS循環學習:while循環語句的使用(範例詳解)

【範例2】找出1900 年到2020 年之間所有的閏年,每行6 個進行輸出:

<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>

JS循環學習:while循環語句的使用(範例詳解)

2、JS while 迴圈巢狀結構

#while迴圈也可以實現巢狀的效果,也就是while 迴圈裡面嵌套一個或多個while 迴圈。

語法格式:

while(条件1){
     // 条件1成立执行的代码

     while(条件2){
          // 条件2成立执行的代码
           ......
     }
}

總結:嵌套就是包含的意思,所謂while循環嵌套,就是一個while裡面嵌套一個while的寫法,每個while和之前的基礎語法是相同的。

這裡,我們定義了兩個 while 迴圈的嵌套,當然,我們可以嵌套任意多個的 while 迴圈。

理解while迴圈執行流程

當內部迴圈執行完成之後,再執行下一次外部迴圈的條件判斷。

JS循環學習: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>

JS循環學習:while循環語句的使用(範例詳解)

首先,我们定义了一个最外层的 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(&#39;媳妇,我错了<br>&#39;)
        i += 1;
	}
    document.write(&#39;刷碗<br>&#39;)
	document.write(&#39;一套惩罚就结束了!!!!!!!!!!!!<br>&#39;)
    j += 1;
}
</script>

JS循環學習:while循環語句的使用(範例詳解)

二:do-while循环

除了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循環學習:while循環語句的使用(範例詳解)

JS do-while 循环示例

【示例1】使用 do-while 输出1~5数字:

<script>
var i = 1;
do {
    document.write(i+", ");
    i++;
}while( i <= 5);
</script>

JS循環學習:while循環語句的使用(範例詳解)

【示例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>

JS循環學習:while循環語句的使用(範例詳解)

【示例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>

JS循環學習:while循環語句的使用(範例詳解)

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>

JS循環學習:while循環語句的使用(範例詳解)

首先,我们定义了一个最外层的 do while 循环嵌套,计数器 变量 i 从 0 开始,结束条件是 i

在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 i

do while循环嵌套总结

JavaScript 的 do while 循环也可以实现嵌套的效果,即 do while 循环里面嵌套一个或多个 do while 循环。

【推荐学习:javascript高级教程

以上是JS循環學習:while循環語句的使用(範例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn