1、if语句
在一个
指定的条件成立时执行某一段代码(执行语句)
语法:
①
if(条件表达式){
//代码块;
}
②
if(条件表达式){
//代码块1;
}else{
//代码块2;
}
③ 如果条件表达式1成立,就不会执行下面的 else if
if(条件表达式1){
//执行体1;
}else if(条件表达式2){
//执行体2;
}else{
//执行体3;
}
步骤一:首先判断条件表达式1,如果为true,则执行代码块1,如果为false,则不执行代码块1,代码继续往下;
步骤二:首先判断条件表达式2,如果为true,则执行代码块2,如果为false,则不执行代码块2,代码继续往下;
步骤三:如果所有条件表达都为false,则执行最后else语句里的代码块4;如果之前已经符合条件判断的则不会执行else里的代码块
let a=17;
if (a>18){
document.write("可以上网!");
}else {
document.write("年龄未满,不可以再来!");
}
//prompt 是输入框,为输入时默认值是60
let grade=prompt("请输入你的成绩:");
if (100>grade&&grade>=90){
//document.write("奖励游戏机");
alert("奖励游戏机");
}else if (90>grade&&grade>=79){
document.write("奖励台湾一日游")
}else if (79>grade&&grade>=70){
document.write("奖励100元")
}else if (69>grade&&grade>=60){
document.write("奖励两张试卷")
}else if (0
document.write("奖励大嘴巴子")
}else{
document.write("输入有误!")
}
2、用户在网页中输入的方法:
prompt(""); //参数1:提示信息;参数2:默认值;
3、JS的判断条件的输入值的结果
数据类型(NaN除外)
|
true
|
false
|
number
|
非0
|
0
|
string
|
非空串
|
空串
|
object
|
非空
|
Null
|
undefined
|
|
永远都是假的
|
NaN(not a number)
|
|
永远都是假的
|
注意:建议写代码的时候,判断条件使用boolean类型
//数值类型只有0是假的,其他都是真的
if (0){
document.write("真"+"
");
}else{
document.write("假"+"
");
}
//字符串类型,只有空串是假的,其他都是真的
if (""){
document.write("真"+"
");
}else{
document.write("假"+"
");
}
//对象类型,只有null是假的,
var person =null; //打印出来是object(有等号) var per; 这个打印出来是undefined(没有等号)
if (null){
document.write("真"+"
");
}else{
document.write("假"+"
");
}
//undefined类型,未定义的永远都是假的
if (u){
document.write("真"+"
");
}else{
document.write("假"+"
");
}
//字符串类型,只有空串是假的,其他都是真的
let e;
if (""){
document.write("真"+"
");
}else{
document.write("假"+"
");
}
//NaN:本身不是一个数据类型,而是开发人员的代码中的不被JS编译的内容
if (+""){
document.write("真"+"
");
}else {
document.write("假"+"
"+e);
}
4、switch 语句
语法:
//变量名也可以直接写死为true ,还可以写表达式
switch(变量名){
case 常量值:
break;
case 常量值:
break;
default:
break;
}
解析执行过程:如果变量名等于某个分支的常量值,就执行这个代码块;如果所有的条件都不满足就执行default里面的代码块。
switch(true){
case 表达式:
break;
case 表达式:
break;
default:
break;
}
//练习一:
//需求:用户输入1——12月的数字,如果不是则输出:您输入的月份不正确。
//如果输入的是,则打印出季节 234春季 567夏季 8910秋季 11 12 1冬季
let yea=parseInt(prompt("请输入月份:"));
switch (yea) {
case 2:
case 3:
case 4:
alert("现在是春季!");
break;
case 5:
case 6:
case 7:
alert("现在是夏季!");
break;
case 8:
case 9:
case 10:
alert("现在是秋季!");
break;
case 11:
case 12:
case 1:
alert("现在是冬季!");
break;
default:
alert("您输入的不是数字!");
break;
}
//练习二:
//prompt 是输入框,为输入时默认值是60
let grade=parseInt(prompt("请输入你的成绩:"));
switch (true) { //注意:这里不可以用1代替true,在switch中不可以这样做
case (100>grade&&grade>=90):
alert("奖励游戏机");
break;
case (90>grade&&grade>=80):
alert("奖励台湾一日游");
break;
case (80>grade&&grade>=70):
alert("奖励100元");
break;
case (70>grade&&grade>=60):
alert("奖励两张试卷");
break;
case (0
alert("奖励大嘴巴子");
break;
default:
alert("输入有误!");
break;
}
注意:在js当中,比较运算符
会自动将字符串转换成数值型进行
小结:
如果switch的case后面要使用表达式,switch后面的值
一定要写成true。