JavaScript学习笔记五-流程控制语句

一、代码块

  1. 我们的程序是由一条一条的语句构成的,语句是按照自上向下的顺序一条一条执行的,在JS中可以使用{}来为语句进行分组。
  2. 同一个{}中的语句是一体的,它们要么都执行,要么都不执行。 一个{}中的语句我们也称为叫一个代码块。 在代码块的后边不用写分号。
  3. JS中的代码块只具有分组的作用,没有其他的作用。代码块内的内容,在外部是完全可见的。

二、流程控制语句 if 语句

流程控制语句:
JS中程序是从上到下一行一行执行的。
通过流程控制语句可以控制程序的执行流程
使流程可以根据一定的条件来选择执行。
语句的分类:

  1. 条件判断语句
  2. 条件分支语句
  3. 条件循环语句

(1)条件判断语句
条件判断语句可以在执行某个语句之前进行判断,如果条件成立才会执行语句,条件不成立则不执行。
if语句:

语法一:
if(条件表达式){
语句
}

if语句在执行时,会先对条件表达式进行求值判断。
如果条件表达式的值为true,则执行if后的语句。
如果条件表达式的值为false,则不会执行if后的语句。
if语句只能控制紧随其后的那个语句,如果希望if语句可以控制多条语句,可以将这些语句统一放到代码块中。
if语句中的代码块不是必须的,但是在开发中尽量写上,即使只有一条语句。

语法二:
if(条件表达式){
语句…
}else{
语句…
}

如果条件表达式的值为true,则执行if后的语句。
如果条件表达式的值为false,则不会执行else后的语句。

语法三:
if(条件表达式){
语句…
}else if(条件表达式){
语句…
}else if(条件表达式){
语句…
}else{
语句…
}
当该语句执行时,会从上到下依次对条件表达式进行求值判断。
如果值为true,则执行当前语句。
如果值为false,则继续向下执行。
该语句中,只会有一个代码块被执行,一旦被执行,就结束运行。

prompt()函数可以弹出一个提示框,该提示框中会带一个文本框。
用户可以在文本框中输入一段内容,该函数需要一个字符串作为参数,该字符串将会作为提示框的提示文字。
用户输入的内容将会作为函数的返回值返回,可以定义一个变量来接收该内容。
var gar=prompt(“请输入成绩:”);

例题:
var gar=prompt("请输入成绩:");
		if(gar==100){
    
    
			alert("奖励一辆BMW");
		}else if(gar>=80&&gar<=90){
    
    
			alert("iphone15s");
		}else if(gar>=60&&gar<80){
    
    
			alert("奖励一本参考书");
		}else{
    
    
			alert("什么奖励也没有");
		}

prompt()函数的返回值是String类型的,如果是需要返回值类型是number,可以直接在用“+” +prompt()

三、条件分支语句 switch语句

语法:

switch(条件表达式){
    
    
         case 表达式:
                     语句...
                     break;
          case 表达式:
                     语句...
                     break;
          case 表达式:
                     语句...
                     break;
          default:
                     语句...
}

执行流程:
switch…case…语句:在执行时会依次将case后的表达式的值和switch后的条件表达式的值进行全等比较:
如果比较结果为true,则从当前case处开始执行代码。之后的代码都会被执行,所以需要加上break来退出switch语句。
如果比较结果为false,则继续向下比较。
如果所有的比较结果都为false,则执行default后的语句。

switch语句和if语句的功能实际上有重复的,使用switch可以实现if的功能,同样使用if也可以实现switch的功能,可以根据自己的习惯选择。

四、循环语句 while语句

通过循环语句可以反复执行一段代码多次。
while循环语法:

while(条件表达式){
    
    
             语句......
}
执行顺序:
先对条件表达式进行求值判断
如果值为true,则执行循环体
然后再对条件表达式进行判断,以此类推
如果值为false,则终止循环。
var n=1
while(true){
    
    
     alert(n++);
}
向这种将条件表达式写为true的循环,叫做死循环。
该循环永远不会停止,除非浏览器关闭,死循环在开发中慎用。
可以使用break,来终止循环。
var n=1
while(true){
    
    
     alert(n++);
     //判断n是否到了10
     if(n==10){
    
    
       break;//退出循环
}
}

创建一个循环,往往需要三个步骤:

  1. 创建初始化一个变量var i=0;
  2. 在循环中设置一个条件表达式
  3. 定义一个更新表达式,每次更新初始化变量
while(i<10){
    
    
    i++;
}

五、do…while循环

语法:

do{
    
    
   语句...
}while(条件表达式)

执行流程:
do...while语句在执行时,会先执行循环体
循环体执行完毕后
在对while后的条件表达式进行判断
如果结果为true,则继续执行循环体,执行完毕继续判断,以此类推。
如果结果为false,则终止循环,

实际上,while语句和do…while两个语句功能类似
不同的是while是先判断后执行
而do…while是先执行后判断。
区别:
do…while可以保证循环体至少执行一次,而while不能。

六、for循环

for循环语句,为我们提供了专门的位置用来放三个表达式:

  1. 初始化表达式
  2. 条件表达式
  3. 更新表达式
for循环语法:
for1.初始化表达式;2.条件表达式;4.更新表达式){
    
    
        3.语句.....
}

for循环执行流程:
1.执行初始化表达式,初始化变量(初始化表达式只会执行一次)
2.执行条件表达式,判断是否执行循环
     如果为true,则执行循环3
     如果为false,终止循环
3.执行更新表达式,更新表达式执行完毕继续重复2

for循环中的三个部分都可以省略
也可以写在外部
如果for循环中不写任何表达式,只写两个“;;”
此时循环是一个死循环,会一直执行下去,慎用!!!

例题:水仙花数

//水仙花
		   
			for(var i=100;i<1000;i++){
    
    
				//获取百位的数字
				var bai=parseInt(i/100);
				//获取十位的数字
				var shi=parseInt((i-bai*100)/10);
				//获取个位的数字
				var ge=(i-bai*100-shi*10);//var ge=i%10
				 if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i){
    
    
					console.log(i);
				} 
			}

例题:判断一个数是否为质数

 var num=prompt("请输入一个数:");
			//判断这个数是否合法
		if(isNaN(num)){
    
    
			alert("请重新输入一个数字!");
		}else if(num<=1){
    
    
			alert("该值不合法");	
		}else{
    
    
		   //判断num是否是质数
		  //获取2-num之间的数
		  var flag=true;//保存质数的状态
		  for(var i=2;i<num;i++){
    
    
			  //判断num是否能被i整除
			  if(num%i==0){
    
    
				  //如果num能被i整除,则说明num一定不是质数 
				flag=false;
			  }
		  }
		  if(flag){
    
    
			  console.log(num+"是质数");
		  }else{
    
    
			  console.log(num+"不是质数");
		  }
		   
		}

猜你喜欢

转载自blog.csdn.net/weixin_45636381/article/details/112660951
今日推荐