在 JavaScript 语言中,当咱们使用 while
循环时,只要指定条件为 true,循环就能够一直执行。html
而且只要条件一直知足,就能够实现一个无限循环,例如:浏览器
while(true){ console.log("1"); }
执行这个循环,就会无止境的输出1。spa
语法以下所示:code
while (condition) { // 要执行的代码块 }
condition
是循环的条件,只有当循环条件成立时,才会执行花括号 {}
中的代码,若是条件不成立则不会执行代码。htm
使用 while
循环输出小于 10 的全部整数:blog
<!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>
在浏览器中打开:ip
在上述代码中,由于咱们目标是输出“小于 10 的全部整数”,因此这其实不包括10 ,而是从 0 - 9 之间的整数。这样的话咱们能够声明初始变量 i
为 0 ,表示从 0 开始输出,而后循环条件为 i < 10
,只要知足这个条件,循环就会一直执行。而后在代码块中加上一句 i++;
,表示每次循环 初始变量值都会加1,一直加到 9 。utf-8
do/while
循环是 while
循环的变体,它与 while
循环的不一样在于,在检查条件是否为真以前,该循环将会执行一次代码块,而后只要条件为真,它就将重复该循环。也就是说,不论如何 do/while
循环都会至少执行一次。rem
语法:get
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>
在浏览器中打开:
由于咱们要实现的是递减输出1-10之内的数字,就是十、九、八、七、六、五、四、三、二、1
,那么初始化变量确定是从10开始,而后循环条件为 i > 0
,或者 i >= 1
也同样。在代码块中加上 i--
,每循环一次,初始条件变量将减去一,一直减到大于0为止。
再强调一次,do/while
与 while
循环的不一样之处在于:它会先执行一次循环中的语句,而后再判断表达式是否为真,若是为真则继续循环,若是为假则终止循环。因此说无论条件是否为真,do/while
循环至少要执行一次循环语句 。
例如看下面这段代码:
do{ console.log("1"); }while(false); // 输出:1
尽管咱们给 while
后面的循环条件指定为 false
, 代码执行结果依然输出了一个1,这表示循环执行了一次。
while
循环。for
循环。