1. 课程大纲
- if-else语句的复习
- 逻辑运算符(!)
- else if语句在飞机大战中的运用
2.1 逻辑运算符!(非)
- !:代表相反的意思
- 逻辑运算符!会把本来的运算结果转变成相反的结果。
- 根据下列代码,判断结果(true / false)
2.2 回顾if-else语句
if(判断条件){
A
}else{
B
}
- 判断条件为真(true),执行A处的代码
- 判定条件为假(false),执行B处代码
- 如果明天不下雨,在警告框中显示去动物园,否则显示在家写作业。代码如下:
var isRain = false;
if(!isRain){
alert("去动物园");
}else{
alert("在家写作业");
}
代码运行结果:
- 声明变量 isRain,表示明天是否下雨。
- 使用if-else语句判断是否下雨。
- isRain为 false,那么! isRain为true,执行第一个大括号中的代码,在警告框中显示“去动物园”。
3. else-if语句
3.1 学生分数等级划分程序
- 根据学生分数划分等级:
3.2 else if语句
if(判断条件一){
A
}else if(判断条件二){
B
}else if(判断条件三){
C
}else{
D
}
- else if语句用于多重判断;
- 如果判断条件一为true,执行A处代码
- 判断条件一为 false,再执行判断条件二,如果判断条件二为true,则执行B处代码
- 同理,判断条件二为 false,再执行判断条件三,如果判断条件三为true,执行C处的代码
- 如果之前的判断条件都为 false,则执行D处的代码
- 程序执行流程如下图所示:
3.3 学生分数等级划分程序代码
代码如下
<!DOCTYPE html>
<html>
<title>test01</title>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<body>
<script>
var score = prompt("请输入考试分数:");
if(score >= 90){
alert("等级A");
}else if(score >= 80){
alert("等级B");
}else if(score >= 70){
alert("等级C");
}else if(score >= 60){
alert("等级D");
}else{
alert("不及格");
}
</script>
</body>
</html>
- 如果 score>=90为true,在警告框上显示"等级A"。
- 若 score>=90为 False,再判断 score>=80.如果 score>=80为true,在警告框上显示"等级B"。
- 依次同理,若 score>=80为 false,再判断 score>=70.如果 score>=70为true,在警告框上显示"等级C"
- 依次同理,若 score>=70为 false,再判断 score>=60.如果 score>=60为true,在警告框上显示"等级D"
- 若以上所有的条件都不成立,在警告框上显示"不及格"
3.4 数字星期对应程序
- 程序执行流程图如下:
代码如下:
<!DOCTYPE html>
<html>
<title>test01</title>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<body>
<script>
var today = prompt("请输入1-7的数字:");
if(today == 1){
alert("今天是星期一");
}else if(today == 2){
alert("今天是星期二");
}else if(today == 3){
alert("今天是星期三");
}else if(today == 4){
alert("今天是星期四");
}else if(today == 5){
alert("今天是星期五");
}else if(today == 6){
alert("今天是星期六");
}else if(today == 7){
alert("今天是星期日");
}else{
alert("该数字没有星期对应!");
}
</script>
</body>
</html>
3.5 else if语句在飞机大战中的实际运用
根据型号画飞机
- 代码如下
<!DOCTYPE html>
<html>
<title>test01</title>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<canvas id="myCanvas" width="500"
height="500"></canvas>
<body>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var type = prompt("请输入飞机类型:");
if(type == 1){
ctx.drawImage(enemy1,100,100);
}else if(type == 2){
ctx.drawImage(ememy2,200,200);
}else if(type == 3){
ctx.drawImage(enemy3,300,300);
}else{
ctx.font = "40px 微软雅黑";
ctx.fillText("没有该类型的飞机",100,50);
}
</script>
</body>
</html>
- 提示用户,在信息提示输入框中输入飞机类型
- 输入1的时候,在画布上画出架小型敌机。
- 输入2的时候,在画布上画出一架中型敌机。
- 输入3的时候,在画布上画出一架大型敌机。
- 输入其它数字的时候,在画布上写出"没有该类型飞机”的字样,且文字的大小为40px、字体为微软雅黑。