if语句结构体举例:
<script type="text/javascript">
if(明天不下雨){
我就出去玩;
}else{
我就在家写作业;
}
</script>
公式:
if(条件表达式){
条件为真时做的事情;
}else{
条件为假的时候做的事情;
}
一个小程序:
<script type="text/javascript">
var a=10; //设置变量
if(a>5){
console.log("五月天");
}else{
console.log("六月雪")
}
</script>
输出”五月天”。
If语句也是“选择语句”,“条件判断语句”。
条件表达式要么是true要么是false,不会出现模棱两可的情况。
例1:用户输入自己的考试成绩,提示用户是否及格。如果及格了,弹出警告框“恭喜你,及格了!”如果没有及格,弹出警告框“很遗憾,你没有及格。”“请继续努力啊。”最后都弹出“么么哒。”
<script type="text/javascript">
//第一步,请用户输入自己的成绩
var score=parseFloat(prompt("请输入你的成绩"));
//第二步,判断
if(score>=60){
alert("恭喜你,及格了!");
alert("不要骄傲啊");
}else{
alert("很遗憾,没及格");
alert("请继续努力啊!");
}
alert("么么哒!");
</script>
例2:用户输入自己的年龄,判断用户是否在18-70岁,如果在,那么弹出框“恭喜,可以考驾照”,“加油啊。”否则弹出“年龄不符合要求”,“哈哈哈”。最后都弹出“么么哒。”
<script type="text/javascript">
var age=parseFloat(prompt("请输入你的年龄"));
if(age>=18 && age<70){
alert("恭喜你,可以考驾照");
alert("加油啊");
}
else{
alert("年龄不符合要求");
alert("哈哈哈");
}
alert("么么哒");
</script>
例3:判断用户输入的密码是否正确,如果是123,则为正确,如果不是,就错误。
<script type="text/javascript">
//第一步,得到用户输入的密码
var password=prompt("请输入密码");
//第二步,判断
if (password==123){
alert("密码正确");
}
else{
alert("密码错误");
}
</script>
多分支的if语句和跳楼现象
例4:用户输入成绩,如果成绩大于等于85,那么提示优秀;否则,如果成绩大于等于70,那么提示良好;否则,如果成绩介于60-69之间,那么提示及格;否则,不及格。
<script type="text/javascript">
var score=parseFloat(prompt("请输入成绩"));
if (score>=85){
alert("优秀");
}else if(score>=70){
alert("良好");
}else if(score>=60){
alert("及格");
}else{
alert("不及格");
}
</script>
语法:
if(条件表达式1){
条件1为真的时候做的事情
}else if(条件表达式2){
条件1不满足,条件2满足的时候做的事情
}else if(条件表达式3){
条件1、2不满足,条件3满足的时候做的事情
}else{
全都不满足的时候做的事情
}
跳楼现象揭示了多分支if语句的本质就是下一个楼层已经暗含以上楼层都不满足。、
例5:读下面的程序,请问控制台输出什么?
<script type="text/javascript">
var a=10;
if(a>5){
a=a+3;
}else if(a==13){
a=a+4;
}else if(a==17){
a=a+5;
}else{
a=a+6;
}
console.log(a);
</script>
例6:根据BMI(身体质量指数)显示一个人的体形。
BMI指数就是体重、身高的计算公式,公式是BMI=体重÷身高的平方
比如一个人的体重是80公斤,身高是1.8米,此人的BMI指数就是80÷1.8²
过轻:低于18.5;正常:18.5-24.999;过重:25-27.999;肥胖:28-32;非常肥胖:高于32.
请用Javascript开发一个程序,让用户先输入自己的体重,然后输入身高(弹出两次prompt框),计算它的BMI,根据上表,弹出用户的身体情况。比如“过轻”、“正常”、“过重”、“肥胖”、“非常肥胖”。在开发程序中,充分考虑跳楼现象,不允许出现多余的东西。
方法一:
<script type="text/javascript">
//第一步,输入身高和体重
var weight=parseFloat(prompt("请输入体重,单位是公斤"));
var height=parseFloat(prompt("请输入体重,单位是米"));
//第二步,计算BMI指数
var BMI=weight/Math.pow(height,2);
//第三步,if语句判断,注意跳楼现象
if (BMI<18.5) {
alert("过轻");
}else if (BMI<25){
alert("正常");
}else if(BMI<28){
alert("过重");
}else if (BMI<=32){
alert("肥胖");
}else{
alert("非常肥胖");
}
</script>
方法二:
<script type="text/javascript">
//第一步,输入身高和体重
var weight=parseFloat(prompt("请输入体重,单位是公斤"));
var height=parseFloat(prompt("请输入体重,单位是米"));
//第二步,计算BMI指数
var BMI=weight/Math.pow(height,2);
//第三步,if语句判断,注意跳楼现象
if (BMI>32) {
alert("非常肥胖");
}else if (BMI>=28){
alert("肥胖");
}else if(BMI>=25){
alert("过重");
}else if (BMI>=18.5){
alert("正常");
}else{
alert("偏瘦");
}
</script>
If语句的嵌套
例7:
一个加油站为了鼓励车主多加油,加的多有优惠。
92号汽油,每升6元;如果大于等于20升,那么每升5.9元;
97号汽油,每升7元;如果大于等于30升,那么每升6.95元;
编写JS程序,用户输入自己的汽油编号,再输入自己加多少升,弹出价格。
<script type="text/javascript">
//输入编号
var number=parseInt(prompt("请输入想加的汽油编号,92还是97?"));
var sheng=parseInt(prompt("请输入你想加多少升"));
//判断
if(number==92){
//编号是92时做的事情
if(sheng>=20){
var price=sheng*5.9;
}else{
var price=sheng*6;
}
}else if(number==97){
//编号是97时做的事情
if(sheng>=30){
var price=sheng*6.95;
}else{
var price=sheng*7;
}
}else{
alert("没有这种编号的汽油");
}
alert("价格是"+price);
</script>
例8:
某个公司要给员工发年终奖,工作时间越长,发的越多,规则如下:
工作满0年,发月薪的1倍年终奖,如果月薪大于8000则发1.2倍;
工作满1年,发月薪的1.5倍年终奖,如果月薪大于10000则发1.7倍;
工作满2年以上,发月薪的3倍年终奖,如果月薪大于12000则发3.2倍;
用JS编写程序,让用户输入工作几年,可以输入0,然后输入月薪,计算年终奖。
<script type="text/javascript">
//输入工作年限和月薪
var year=parseInt(prompt("请输入工作年限,可以输0"));
var salary=parseInt(prompt("请输入你的月薪"));
//判断
if(year>=2){
//工作满2年以上
if(salary>12000){
var bonus=salary*3.2;
}else{
var bonus=salary*3;
}
}else if(year>=1){
//工作满1年以上
if(salary>10000){
var bonus=salary*1.7;
}else{
var bonus=salary*1.5;
}
}else if(year>=0){
//工作满0年
if(salary>8000){
var bonus=salary*1.2;
}else{
var bonus=salary*1;
}
}
alert("你会有"+bonus+"元年终奖");
</script>
If语句小知识点
else部分可以省略。
<script type="text/javascript">
var a=10;
if(a>20){
alert("这个数字大于20");
}
</script>
没有else部分,也就是说没有“否则”,如果条件表达式不满足了,那么就什么都不做。
如果要做的事情只有一句话,那么可以省略大括号(不建议初学者使用):
<script type="text/javascript">
var a=2;
if(a>5)alert("这个数字大于5");
alert("哈哈");
</script>
这个程序不满足a>5,所以不能弹出”这个数字大于5”,这是单行if语句,省略了大括号,等价于:
<script type="text/javascript">
var a=2;
if(a>5){
alert("这个数字大于5");
}
alert("哈哈");
</script>
练习:
用户输入一个数字,判断这个数字能否被5、6整除,根据情况弹出下面4种警告框:这个数字能同时被5和6整除;这个数字能被5整除,但不能被6整除;这个数字能被6整除,但是不能被5整除;这个数字既不能被5整除,也不能被6整除。
<script type="text/javascript">
var num=parseInt(prompt("请输入一个数字"));
//方法1:
if(num % 5==0){
if(num %6==0){
alert("能同时被5,6整除");
}else{
alert("能被5整除但不能被6整除");
}
}else{
if(num %6==0){
alert("能被6整除,但不能被5整除");
}else{
alert("既不能被5整除,也不能被6整除");
}
}
//方法2:
if(num % 5==0 && num %6==0){
alert("能被5、6同时整除");
}else if(num % 5==0){
alert("能被5整除,但不能被6整除");
}else if (num %6==0) {
alert("能被6整除,但不能被5整除");
}else{
alert("既不能被5整除也不能被6整除");
}
</script>