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

被折叠的 条评论
为什么被折叠?



