JavaScript循环结构分类

本文深入讲解了循环结构的基础概念,包括while、do-while和for循环的语法与特性,通过实例展示了循环控制语句如break、continue及return的使用场景。

循环结构的步骤

1、声明循环变量;
2、判断循环条件;
3、执行循环体操作;
4、更该循环变量;
5、循环执行循环体,直到条件不成立时,跳出循环。或者强制跳出循环。

while循环

语法如下:

while (条件) {
    要执行的代码块
}

例:

var num = 1;              //1、声明循环变量
while (num<=10){            //2、判断循环条件
  document.write(num+"<br>");    //3、执行循环体操作
  num++;               //4、更该循环变量
}

在这里插入图片描述
while循环()中的表达式,运算结果可以是各种类型。但是最终都会转为真假,转换规则同if结构:
①Boolean:true为真,false为假;
②String:空字符串为假,所有非空字符串为真;
③Number:0为假,一切非0数字为真;
④Null、Undefined、NaN:全为假;
⑤Object:全为真。

do-while

语法如下:

do {
    要执行的代码块
}
while (条件);

例:

var num = 1;   
do {
    document.write(num+"<br>");
    num++;
 }
while (num < 10);

在这里插入图片描述
while与do-while的区别
while循环特点:先判断,后执行。
do-while循环特点:先执行,后判断。即使初始条件不成立,do-while循环也至少执行一次。

for循环

1、for循环有三个表达式:①声明循环变量;②判断循环条件;③跟该循环变量
  三个表达式之间,用英文下的分号分隔;
  for循环三个表达式都可以省略,但是两个;缺一不可
2、for循环的执行特点:先判断,后执行:与while相同
3、for循环三个表达式都可以有多部分组成,第二部分多个判断条件用&& ||链接,第一三部分用逗号分隔。

for (var num = 1;num<=10;num++) {
  document.write(num+"<br>");
}

在这里插入图片描述
<小案例>
根据日期,判断这个日期是这一年的第几天

//获取输入的日期  
var y = parseInt(prompt('请输入年份'));   
var m = parseInt(prompt('请输入月份'));   
var d = parseInt(prompt('请输入日份'));   
var days = 0;       //循环月份,先把2月初始化为30天           
for (var i = 1; i < m; i++) {      
	if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10) {         
        days += 31;                      
    } //改if不成立执行下一个
    if (i == 2 || i == 4 || i == 6 || i == 9 || i == 11) {         
        days += 30;             
    }      
}   
//判断是否为闰年,如果月份大于2并且为闰年,总天数-1,否则-2  
if (m > 2 && (y % 400 == 0 || y % 4 == 0 && y % 100 != 0)) {
    days -= 1;  
}  else if (m > 2) {
    days -= 2;
}
days += d;   
alert(y + "年" + m + "月" + d + "号是" + y + "年的第" + days + "天");//弹框输出
console.log(y + "年" + m + "月" + d + "号");//控制台输出方便查看
console.log(y + "年" + m + "月" + d + "号是" + y + "年的第" + days + "天");

在这里插入图片描述
在这里插入图片描述

循环控制语句

1、break语句:跳出本曾循环,继续执行循环后面的语句。
  如果循环有多层嵌套,则break只能跳出一层。

for(var num=1;num<=10;num++) { 
    if(num==8) { 
        break; 
    } 
    console.log(num); 
} 

在这里插入图片描述

2、continue:跳过本次循环剩余的代码,继续执行下一次循环。
  ①对于for循环,continue之后执行的语句,是循环变量更新语句
  ②对于while、do-while循环,continue之后的语句,是循环条件判断;
   因此,使用这两个循环时,必须将continue放到之后使用,否则continue将跳过i++导致死循环。

for(var num=1;num<=10;num++) { 
    if(num==8) { 
       continue;
    } 
    console.log(num); 
} 

在这里插入图片描述

3.return语句:return 语句就是用于指定函数返回的值,它只能出现在函数体内,如果出现在代码中的其他任何地方都会造成语法错误。并且它会终止函数的执行并返回函数的值

for(var num=1;num<=10;num++) { 
    if(num==8) { 
       return;
    } 
    console.log(num); 
} 

在这里插入图片描述
Uncaught SyntaxError: Illegal return statement(…)这句话的意思是非法捕获的查询返回语句
此时我们可以将循环放在一个函数里就可以使用return了

function num() {
	for (var i = 1; i <= 10; i++) {
		if (i == 8) {
			return;
		}
		console.log(i);
	}
}
num();

在这里插入图片描述
return必须放在函数体内才可执行,它其作用和break类似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值