条件判断语句
1、if语句
if单分支:
if(条件){
//条件成立(返回true)时,执行这里的代码,否则不执行
}
if双分支:当if括号内的表达式结果成立,执行语句1,否则执行语句2
if(条件){
语句1
//条件成立(返回true)时,执行这里的代码,忽略以下代码
}else{
语句2
//条件不成立时(返回false)时,执行这里的代码
}
if多分支:从上往下,满足哪个条件就执行其对应的语句,都不满足时,执行最后的else语句,只能进入其中之一
if(条件1){
//条件1成立(返回true)时,执行这里的代码,忽略以下的代码
}else if(条件2){
//条件2成立(返回true)时,执行这里的代码,忽略以下的代码
}else{
//以上条件都不成立(都返回false)时,执行这里的代码
}
2、三元运算
格式:条件?条件成立代码:条件不成立代码
var a = 20;
var b = 50;
var sum = a>b ? a-b : a+b;
3、switch语句
switch(表达式){
case value1:
//如果表达式的值恒等于value1,代码从这里开始执行
break;
case value2:
//如果表达式的值恒等于value2,代码从这里开始执行
break;
case value3:
//如果表达式的值恒等于value3,代码从这里开始执行
break;
case value4:
//如果表达式的值恒等于value4,代码从这里开始执行
break;
}
注意:
- switch语句在比较值时使用的全是全等操作符(===),因此不会发生类型转换
- case:当符合条件时,会从符合条件的那一条case语句开始,依次顺序执行
- break:跳出switch语句
- default:当所有的case都不满足的情况下会执行default下面的语句
<案例>:
- 判断一个数是偶数还是奇数,并输出判断结果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>03判断奇偶</title>
</head>
<body>
<input type="text" id="number"><button onclick="checkOdd()">判断奇偶</button>
<div id="output"></div>
<script>
// 获取页面的元素
var num = document.getElementById('number');
var output = document.getElementById('output');
function checkOdd(){
// 获取输入框的值
var _num = num.value;
// 判断奇数
if(_num%2===0){
output.innerHTML = '偶数';
}else{
output.innerHTML = '奇数';
}
}
</script>
</body>
</html>
- 求两个数的最大数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>03判断奇偶</title>
<script>
var num1 = 100;
var num2 = 200;
if(num1>num2){
console.log(num1 + '最大');
}else if(num1<num2){
console.log(num2 + '最大');
}else{
console.log(num1 + '等于' + num2);
}
</script>
</head>
<body>
</body>
</html>
- 输入月份,显示当月的天数
- 不考虑闰年
- 利用case穿透简化代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>05根据月份显示当月天数</title>
</head>
<body>
<input type="text" id="month">
<button onclick="showDays()">查看天数</button>
<div id="output"></div>
<script>
/*
根据月份显示当月天数
思路:
1、获取输入框元素
2、获取输入的值
3、根据月份判断天数
*/
// 1、获取输入框元素
var month = document.getElementById('month');
var output = document.getElementById('output');
// 声明一个查看天数的函数
function showDays(){
// if..else方式
/*// 2、获取输入的值
var _month = month.value;//String
// 3、根据月份判断天数
if(_month == 1 || _month == 3 || _month == 5 || _month == 7 || _month == 8 || _month == 10 || _month == 12){
output.innerHTML = _month + '月有31天';
}else if(_month == 2){
output.innerHTML = _month + '月有28天';
}else if(_month == 4 || _month == 6 || _month == 9 || _month == 11){
output.innerHTML = _month + '月有30天';
}else{
output.innerHTML = '请输入正确的月份';
}*/
// switch方式
// case穿透
var _month = Number(month.value);//String
switch(_month){
case 1://恒等===
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
output.innerHTML = _month + '月有31天';
// 跳出switch,代码不会继续往下执行
break;
case 2:
output.innerHTML = _month + '月有28天';
break;
case 4:
case 6:
case 9:
case 11:
output.innerHTML = _month + '月有30天';
break;
default:
output.innerHTML = '输入的月份不合法';
}
}
</script>
</body>
</html>
[练习]
- 输入数字,显示星期几
- 输入成绩,进行成绩判定(要求用if和switch两种写法)
- 大于85 优秀
- 大于等于75小于等于85 良好
- 大于等于60小于75 及格
- 小于60 不及格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>成绩判断</title>
<style type="text/css">
</style>
</head>
<body>
<input type="text" id="score"/>
<button onclick="check61()">判定成绩</button>
<div id="output"></div>
<script>
var score = document.getElementById('score');
function check60(){
var scores = score.value;
if(scores>85){
output.innerHTML = '优秀';
}else if(scores>=75 && scores <=85){
output.innerHTML = '良好';
}else if(scores>=60 && scores<70){
output.innerHTML = '及格';
}else if(scores<60){
output.innerHTML = '不及格';
}else{
output.innerHTMl ='不是分数请重新输入';
}
}
function check61(){
var scores = Number(score.value);
var con = '';
switch(true){
case scores >= 60 && scores < 75:
con = '及格';
break;
case scores >= 75 && scores <= 85:
con = '良好';
break;
case scores > 85 && scores <= 100:
con = '优秀';
break;
case scores < 60 && scores >=0:
con = '不及格';
break;
default:
con = '请输入正确的数字';
}
output.innerHTML = con;
}
</script>
</body>
</html>
开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者体重是否合适