条件判断语句
if分支结构 第一种格式:
if(条件表达式){
语句块1;
}
第二种格式:
if(条件表达式){
语句块1;
}else{
语句块2;
}
第三种格式:
if(条件表达式){
语句块1;
}else if{
语句块2;
}else if {
语句块3;
}
......
else{
}
1.简单if语句
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//定义变量score代表分数
var score = prompt("请输入成绩:")
//判断分数是否大于等于60,返回true或false
if(score>=60){
alert("考试及格")//如果分数大于等于60,则显示及格,否则不显示
}
</script>
</body>
</html>
2.if…else语句
<script type="text/javascript">
//定义变量score代表分数
var score = prompt("请输入成绩:")
//判断分数是否大于等于60,返回true或false
if (score >= 60) {
alert("考试及格") //如果分数大于等于60,则显示及格
} else {
alert("考试不及格") //如果分数小于60,则显示不及格
}
3.多重if语句
<script type="text/javascript">
/**
* 判断一个学生的js成绩,如果他的成绩时90分以上,优秀;80-90之间,良好;60-80之间,及格;60分以下,不及格
*/
var score = prompt("请输入你的成绩:")
if (score >= 90) {
console.log("优秀")
} else if (score >= 80) {
console.log("良好")
} else if (score >= 60) {
console.log("及格")
} else {
console.log("不及格")
}
</script>
4.嵌套if语句
<script type="text/javascript">
var year = 2022,month = 2
//根据输入的年份和月份打印出该月有多少天
if (month ==1||month ==3||month ==5||month ==7||month ==8||month ==10||month ==12) {
alert("31天")
} else if (month ==4||month ==6||month ==9||month ==11) {
alert("30天")
} else if (month == 2) {
//如何判断一个年份是否是闰年,条件:年份是否可以被400整除或者年份可以被4整除但不能被100整除
if(year%400==0 || (year%4==0 && (year%100!=0))){
alert("29天")
} else {
alert("28天")
}
}
</script>
<script type="text/javascript">
//嵌套分支
//求三个数中的最大值
var x = 10,
y = 20,
z = 30
var result = 0 //用来存储最大值
if (x > y) {
if (x > z) {
result = x
} else {
result = z
}
} else {
if (y > z) {
result = y
} else {
result = z
}
}
console.log(result)
switch分支结构
在switch结构中,自动类型转换将被忽略即表达式必须绝对等于常量
在JavaScript中,除字符型和number型外,还可以是字符串类型。不管哪种类型,条件的取值和表达式的值的类型必须一致。
switch (变量的值){
case 值1:
执行 语句1;
break;
case 值2:
执行语句2;
break;
..........
default:
执行语句3;
break;
}
<script type="text/javascript">
//根据输入的年份和月份打印出该月有多少天
var year = 2022,month = 2
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
console.log("31天")
break
case 4:
case 6:
case 9:
case 11:
console.log("30天")
break
case 2:
if (year % 400 == 0 || (year % 4 == 0 && (year % 100 != 0))) {
console.log("29天")
} else {
console.log("28天")
}
break
default:
console.log("输入的年份有误")
break
}
</script>
<script type="text/javascript">
//成绩等级划分 A:90分以上 B:80分以上 C:70分以上 D:60分以上 E:59分以下
//定义变量 返回字符串类型
var score = prompt("请输入一个成绩等级(A-E):")
switch (score) {
//条件是字符串类型
case "A":
alert("90分以上")
break
case "B":
alert("80分以上")
break
case "C":
alert("70分以上")
break
case "D":
alert("60分以上")
break
case "E":
alert("59分以下")
break
default:
alert("输入的成绩等级有误")
break
}
</script>