欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaScript中的while循环

程序员文章站 2024-03-23 21:44:52
...

在 JavaScript 语言中,当我们使用 while 循环时,只要指定条件为 true,循环就可以一直执行。

并且只要条件一直满足,就可以实现一个无限循环,例如:

while(true){
    console.log("1");
}

执行这个循环,就会无止境的输出1。

while 语法及其使用

语法如下所示:

while (condition) {
    // 要执行的代码块
}

condition 是循环的条件,只有当循环条件成立时,才会执行花括号 {} 中的代码,如果条件不成立则不会执行代码。

示例:

使用 while 循环输出小于 10 的所有整数:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS_侠课岛(9xkd.com)</title>
</head>
<body>
<div>
  <p id="while"></p>
</div>
<script>
  var number = "";
  var i = 0;
  while (i < 10) {
    number += "<br>第 "+i+" 个数";
    i++;
  }
  document.getElementById("while").innerHTML = number;
</script>
</body>   
</html>

在浏览器中打开:
JavaScript中的while循环

在上述代码中,因为我们目标是输出“小于 10 的所有整数”,所以这其实不包括10 ,而是从 0 - 9 之间的整数。这样的话我们可以声明初始变量 i 为 0 ,表示从 0 开始输出,然后循环条件为 i < 10,只要满足这个条件,循环就会一直执行。然后在代码块中加上一句 i++;,表示每次循环 初始变量值都会加1,一直加到 9 。

do/while 循环的使用

do/while 循环是 while 循环的变体,它与 while 循环的不同在于,在检查条件是否为真之前,该循环将会执行一次代码块,然后只要条件为真,它就将重复该循环。也就是说,不论如何 do/while 循环都会至少执行一次。

语法:

do{
    // 要执行的代码块
}while(condition);
示例:

通过 do/while 循环以递减方式,循环输出1-10以内的数字:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS_侠课岛(9xkd.com)</title>
</head>
<body>
<div>
  <p id="dowhile"></p>
</div>
<script>
	var dow = ""
	var i = 10;
	do {
		dow += "<br><br>第 " +i+ " 个数";
		i--;
	}while (i > 0);  
	document.getElementById("dowhile").innerHTML = dow;
</script>
</body>   
</html>

在浏览器中打开:
JavaScript中的while循环

因为我们要实现的是递减输出1-10以内的数字,就是10、9、8、7、6、5、4、3、2、1,那么初始化变量肯定是从10开始,然后循环条件为 i > 0 ,或者 i >= 1 也一样。在代码块中加上 i--,每循环一次,初始条件变量将减去一,一直减到大于0为止。

再强调一次,do/whilewhile 循环的不同之处在于:它会先执行一次循环中的语句,然后再判断表达式是否为真,如果为真则继续循环,如果为假则终止循环。所以说不管条件是否为真,do/while 循环至少要执行一次循环语句 。

例如看下面这段代码:

do{
    console.log("1");
}while(false);

// 输出:1

尽管我们给 while 后面的循环条件指定为 false, 代码执行结果依然输出了一个1,这表示循环执行了一次。

不同循环的使用情景

  • 当循环次数不限制、不确定时可以使用 while 循环。
  • 循环次数有限制、已经确定时可以用 for 循环。

动手小练习

  1. 定义一个输入框,随机输入一个数,并判断这个数字是否符合条件?
  2. 循环弹框输入数据,并在控制台打印,如果输入为 exit,则退出循环。