JavaScript(三)[语句 if、switch、while、for、break和continue]

目录导航


JavaScript(三)

语句

1.1 if 语句

语法:
单行语句:
	if(条件表达式)
		语句;
代码块语句: (推荐)
	if(条件表达式){
		 语句;
		}
执行流程:
	if语句在执行时,先对条件表达式进行求值判断
	如果是true 则执行if后的语句
	如果是false,则不执行

var a = 30;
if(a < 35){
	console.log("hello");
}
//输出:  hello

1.2 if else 语句

语法:
	if(条件表达式){
		语句...
	}else(条件表达式){
		语句...
	}
执行流程:
	if-else执行时,先对if后的条件表达式进行求值判断
	如果为true,则执行if后的语句
	如果是false,则执行else后的语句
var age = 60;
if(age >= 60){
	console.log("你已退休~~~");ji
}else{
	console.log("你还要好好干");
}

多个条件语句:
	if(条件表达式){
			语句
		}else if(条件表达式){
				语句
		}else if(条件表达式){
				语句
		}else{
				语句
		}

执行流程:
	它会自上而下依次对 if 后的条件表达式进行判断
	如果是true,执行当前if后的语句,执行完语句就结束了
	如果是false,则继续向下判断,直到找到true为止。
	如果所有的判断结果都是false,则执行else后的语句。

var age = 33;
if(age >= 300){
	alert("我老了");
}else if(age >= 80){
	alert("和楼上比,我还很年轻");
}else if(age >= 60){
	alert("退休了");
}else if(age >= 18){
	alert("你已经成年了");
}else{
	alert("你还是是孩子");
}

1.3 switch 语句

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

执行流程:
	switch - case 语句在执行时,会自上而下依次将switch的表达式和case表达式进行全等比较
	如果全等,则当前case开始向下执行代码,当不希望其他之后的case执行可以在case后使用break
	如果不全等,则进行向下比较直到找到全等为止
	如果所有比较不成立,则default执行,

var num = 1;
switch(num){
	case 1:
		alert("我是1");
	case 2:
		alert("我是2");
	case 3:
		alert("我是3");
	case 4:
		alert("我是4");
}

注意:当条件满足  case 1 时, case 1 之后的所有 case 都会执行。

var num = 1;
switch(num){
	case 1:
		alert("我是1");
		break;     //  增加了break之后  当条件满足  case 1 时, case 1 之后的所有 case 都不会执行
	case 2:
	//  当输入2或3输出同一个内容时,可以这样写    
	case 3: 
		alert("我是2或3");
		break;
	case 4:
		alert("我是4");
		break;
	default:     // 条件都不匹配时执行
		alert("输入错误内容");	
		break;
}

1.4 while 语句

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

执行流程:
	while语句在执行时,首先会对条件表达式进行判断
		如果是false,则语句直接结束
		如果是true,则执行while之后的语句后,进行对条件表达式进行判断如果是true,则执行whle之后的语句,以此类推;直到条件表达式为false//死循环  --->   因为条件为true  会一直执行
//不要尝试使用
while(true){
	alert("hello");
} 


写循环时有三个要点

1.初始化表达式,创建一个变量来控制循环的执行
var a = 0;
2. 条件表达式,设置循环的执行条件
 while( i < 20 ){
	alert(i);
	3.更新表达式,修改初始值
	i++;
} 

1.5 do-while 循环

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

执行流程:
	do-while循环在执行时,先执行循环体,执行完毕对条件表达式进行求值判断,
		如果是false,则语句结束
		如果是true,则进行执行循环体
		以此类推....


let i = 0;
do{
	console.log(i);
	i++;
}while(i < 5)


//于while区别是  while是先判断后执行,do-while是先执行后判断

let i = 5;
while(i < 5){
	console.log(i);
	i++;
}

//这个时候 while 这个循环体就不会执行。  满足不了循环的条件

let i = 0;
do{
	console.log(i);
	i++;
}while(i < 5)

//这个时候do - while 这个循环体会执行一次。  满足不了循环的条件停止循环
	do-while可以确保循环至少一次,其他的时候和while没有区别

1.6 for 循环


语句:
	for(1.初始化表达式 , 2.条件表达式 , 4.更新表达式){
		3.语句...
	}
		
执行流程:
	1.先执行初始化表达式,初始化一个变量
	2.执行条件表达式,判断是否执行循环
		如果是false则循环结束
	3.如果是true,则执行循环体
	4.执行更新表达式对变量进行更新
	5.重流程 2. 重新开始

for( var i = 0, i < 5, i++){
	cnsole.log(i); 
}

1.7 break和continue

1.7.1 break

用来结束switch和循环语句

for(var i = 0; i < 5,i++){
	if(i === 2){
	break;  //当条件满足则停止for循环,不是对if的,是对for循环的,在循环外if中使用break则会报错
	}
	console.log(i);   //  0 1
}

在这里插入图片描述
结果表示break默认只会影响到离它最近的循环,在内层循环里使用break不会影响到外层循环

1.7.2 continue

用来跳过当次循环

for(var i = 0; i < 5; i++){
	if(i === 2){
		continue; // 当满足条件跳过这次循环
	}
	console.log(i);  //所以图中输出没有2
}

在这里插入图片描述
在两个循环中,continue和break一样,只影响了离它最近的循环
在这里插入图片描述

1.8 练习

1.8.1 if else

1.编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。

//prompt()函数用来获取用户输入的内容
// 用户输入的内容会作为函数的返回值返回,需要一个变量来接收
//该函数返回的类型总是一个字符串
var a = +prompt("请输入一个整数");  // 这里可以使用一元加把类型转换一下
if( a % 2 === 0 ){
	alert("它是偶数");
}else if( a % 2 === 1){
	alert("它是奇数");
}else{
	alert("它不是一个整数");
}

prompt()函数效果:
在这里插入图片描述

练习2:
编写一个程序,检查任意一个年份是否是闰年。
如果一个年份可以被4整除不能被100整除,或者可以被400整除,这个年份就是闰年

var a = +prompt("输入一个年份");
if(a % 4 === 0 && a % 100 !== 0 || a % 400 === 0){
	alert(`${a}是闰年`);
}else{
	alert(`${a}不是闰年`);
}

练习3:
我家的狗5岁了,5岁的狗相当于多大年龄的人呢?
其实非常简单,狗的前两年每一年相当于人类的10.5岁,然后每增加一年就增加四岁。
那么5岁的狗相等于人类的年龄就应该是10.5+10.5+4+4+4 = 33岁

​ 编写一个程序,获取用户输入的狗的年龄,然后通过程序显示其相当于人类的年龄。
​ 如果用户输入负数,请显示一个提示信息

//获取狗的年龄
var a = +prompt("输入狗的年龄");
//创建一个变量存储狗相当于人类的年龄
var b;
//检查用户输入是否合法
if(a <= 0 || inNaN(a) ){
	alert("请输入一个正整数");
}else if( a <= 2  ){  //如果狗小于等于两岁
		//使年龄乘于10.5
    b = a * 10.5;
}else( a >= 3 ){
		//超过两岁
	b = 10.5*2+(a-2)*4;
}
alert(`狗狗相当于人类${b}`);

练习4:
从键盘输入小明的期末成绩:
当成绩为100时,‘奖励一辆BMW’
当成绩为[80-99]时,‘奖励一台iphone’
当成绩为[60-79]时,‘奖励一本参考书’
其他时,什么奖励也没有

var a = +prompt("输入小明的成绩");
if(a === 100){
	alert("奖励一辆BMW");
}else if( a > 80 && a <= 99 ){
	alert("奖励一台iphone");
}else if( a > 60 && a <= 80 ){
	alert("奖励一本参考书");
}else{
	alert("什么奖励也没有");
}
1.8.1 while

假设存款年利率为5%,问1000存多少年可以变成5000?


// 创建一个变量表示钱
var money = 1000;
//创建一个计数器
var count = 0;
while(money < 5000){
	money *= 1.05;
	count++;
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值