第二章 javascript控制语句
第一节 分支
1.程序的执行结构
程序的执行结构分三类:
顺序结构、分支结构、循环结构
总结:顺序结构就相当于走直路,从头走到尾。分支就像走岔路,满足特定条件才执行。循环就像跑圈,则特定条件下,反复执行某段代码。
2.if分支结构
if分支一般用于范围条件判断,switch一般用于定值条件判断。
2.1if 单分支
语法:
if(条件表达式)
{
/*条件为true时*/
代码块;
}
2.2if 双分支
语法:
if(条件表达式)
{
/*条件表达式为真时执行如下代码*/
代码块;
}
else
{
/*条件表达式为假*/
代码块;
}
双分支结构执行时,如果条件表达式结果为true,则走if分支后的代码块,否则走else分支代码块,非此即彼,两者必选其一。
2.3if 多分支
语法:
if(条件表达式1)
{
代码块1;
}
else if(条件表达式2)
{
代码块2;
}
else if(条件表达式3)
{
代码块3;
}
....
else /*除了上面条件之外的其他所有情况*/
{
代码块;
}
3.switch分支
语法:
switch(变量)
{
case 数据1:
代码块1;
break;
case 数据2:
代码块2;
break;
case 数据3:
代码块3;
break;
...
default: /*不满足上面任何一支,则进入该分支*/
代码块;
break;
}
第二节 while循环和do...while循环
循环:对于程序中某些特定的功能代码,需要在满足特定条件的情况下反复执行,知道条件不成立时结束。
1.while循环
语法:
while(条件表达式)
{
代码块;
}
2.do...while循环
do...while循环与while循环类似,区别在于while先判断条件,再执行代码。如果条件不成立时,代码一次都不执行。do...while是先执行代码,再判断条件。所以,如果条件不成立时,代码至少会执行一次。
语法:
do
{
循环代码块;
}wihle(条件表达式);
第三节 for循环
语法:
for(变量的初始化;条件表达式;变量更新)
{
循环代码块;
}
第四节 break和continue
1.break
break:在循环的过程中,在满足某些条件的情况下,中断循环的执行。
注意:switch中的break用于结束某个分支。而循环中的break是中断循环的。
for(var i=1;i<=10;i++)
{
if(i==5)
{
//中断循环
break;
}
document.write(i+"<br/>");
}
document.write("循环结束");
<script type="text/javascript">
//循环输入5个人的分数,求总分和平均分,
//如果分数输入有误,则结束输入,并输出错误提示。
//如果所有分数都输入无误,则输出总分和平均分
var sum = 0;
//定义标识变量,记录输入过程是否有错
var flag=true;
for(var i=1;i<=5;i++)
{
var score = Number(prompt("请输入第"+i+"个人的分数:",""));
//判断分数是否有误
if(score<0 || score>100)
{
//输入错误时,修改标识
flag = false;
break;
}
sum+=score;
}
//在循环结束之后,根据标识,判断是否输出统计信息
if(flag)
{
document.write("总分:"+sum+" 平均分:"+(sum/5));
}
else
{
document.write("输入分数有误,无法统计");
}
</script>
2.continue
continue:在循环的过程中,在满足某些条件的情况下,跳过循环中的部分代码不执行,直接进入下次循环。
for(var i=1;i<=10;i++)
{
if(i==5)
{
//跳过continue后面的代码,进入循环的下一步
continue;
}
document.write(i+"<br/>");
}
document.write("循环结束");
<script type="text/javascript">
//统计80分以上的人数
var count = 0;
for(var i=1;i<=5;i++)
{
var score = Number(prompt("请输入第"+i+"个人的分数:",""));
if(score<80)
{
continue;
}
count++;
}
document.write("80分以上的人数:"+count+" 所占比例:"+(count/5)*100+"%");
</script>
3.不定次循环
<script type="text/javascript">
//不定次数循环,吃包子
var count = 1;
document.write("吃一个包子<br/>");
var answer = prompt("吃饱没有?","没吃饱");
while(answer!="吃饱了")
{
document.write("吃一个包子<br/>");
count++;
answer = prompt("吃饱没有?","没吃饱");
}
document.write("一共吃了:"+count+"个包子");
/*
var count = 0;
while(true)
{
document.write("吃一个包子<br/>");
count++;
var answer = prompt("吃饱没有?","没吃饱");
if(answer=="吃饱了")
{
break;
}
}
document.write("一共吃了:"+count+"个包子");*/
</script>
总结
-
while和do...while都能实现固定次数和不固定次数的循环,但是while和do...while更适合做不固定次数的循环。
-
while循环,先进行条件判断,再做代码的执行。而do...while先执行代码,再做条件判断。因此,do...while至少会执行一次代码
-
for循环适用于固定次数的循环。
-
break和continue可以修改循环的执行次序。
411

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



