概述
循环就是重复做一件事,在编写代码的过程中,我们经常会遇到一些需要反复执行的操作,例如遍历一些数据、重复输出某个字符串等,如果一行行的写那就太麻烦了,对于这种重复的操作,我们应该选择使用循环来完成。
循环的目的就是为了反复执某段代码,使用循环可以减轻编程压力,避免代码冗余,提高开发效率,方便后期维护。while 循环是 JavaScript 中提供的最简单的循环语句,下面我们来了解一下 while循环和do-while循环的使用。
一:while循环
while循环语句是一种当型
循环语句,先对循环条件进行判断,当条件满足,则执行循环体,不满足时则停止。
作用:反复执行某一项操作,直到指定的条件不成立。
特点:先判断表达式,当表达式结果为真时执行相应的语句。
1、JS while 循环语法
while(表达式){ //表达式为循环条件
// 要执行的代码
}
登录后复制
语句解析:
先计算“表达式”的值,当值为真时, 执行循环体内的“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>
登录后复制
输出结果:
【示例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>
登录后复制
2、JS while 循环嵌套结构
while循环 也可以实现嵌套的效果,即 while 循环里面嵌套一个或多个 while 循环。
语法格式:
while(条件1){
// 条件1成立执行的代码
while(条件2){
// 条件2成立执行的代码
......
}
}
登录后复制
理解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 < 2,每次执行一次循环将 i 的值加 1,并打印当前 i 的值。
在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 i < 2,每次执行一次循环将 j 的值加 1,并打印当前 j 的值。
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>
登录后复制
二: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 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);
登录后复制
案例:使用循环嵌套,打印计数器
<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 < 2,每次执行一次循环将 i 的值加 1,并打印当前 i 的值。
在最外层循环的里面,同时又定义了一个内部循环,计数器变量 j 从 0 开始,结束条件是 i < 2,每次执行一次循环将 j 的值加 1,并打印当前 j 的值。
do while循环嵌套总结
JavaScript 的 do while 循环也可以实现嵌套的效果,即 do while 循环里面嵌套一个或多个 do while 循环。
【推荐学习:javascript高级教程】
以上就是JS循环学习:while循环语句的使用(示例详解)的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是饱满铅笔为你收集整理的JS循环学习:while循环语句的使用(示例详解)的全部内容,希望文章能够帮你解决JS循环学习:while循环语句的使用(示例详解)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复