JS控制语句

第二章 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可以修改循环的执行次序。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值