22-Javascrip分支语句
if分支语句
单分支语句
if单分支:只有一个选择 执行或者是不执行
语法:
if(条件){
小括号内的条件如果为true的情况下 就执行这里的代码段
}
注意
- 建议书写分支的时候符号一起书写
- 小括号内的条件可以是逻辑运算、数学、比较..最后的结果是布尔类型
拓展
/*
if分支的简写方式
*/
if(true) // 条件 - true/false
alert('如果条件为true,我就能显示出来')
console.log(111)
// 当if分支大括号内只有一段代码的时候 这个大括号可以省略
双分支语句
if双分支: 有多个选择 可以选择A 可以选择B
语法:
if(条件){
条件为true的时候执行代码1
}else{
条件为false的时候执行代码2
}
注意:
- else后面没有小括号 也没有条件
多分支语句
if(条件1){
条件1如果满足的情况下就执行代码1
}
else if(条件2){
条件2如果满足的情况下就执行代码2
}
else if(条件3){
条件3如果满足的情况下就执行这代码3
}
... 可以有很多个条件进行判断
else{
如果上方的条件都不满足的情况下 就执行这里的代码段 - false
}
注意
- 分支执行并不是根据你书写的顺序进行执行 根据当前的逻辑进行执行
- else if 不要写错了 后面是有小括号的
- else没有小括号
- if分支满足前面一个条件后下面的就不执行了
switch语句:多分支判断、多路判断、case穿透
语法:
switch(变量或者值){
case 值1:
如果小括号内的变量或者值和值1相等的话 就执行代码1;
break;
case 值2:
如果小括号内的变量或者值和值2相等的话 就执行代码2;
break;
// ... 无数个值进行比较
default:
如果上述的值和小括号内的值都不相等的情况下就执行这段代码;
}
注意
- switch和case这两个英文单词不要写错了
- case后面的值需要用一个空格隔开 并且值后面是有冒号的
- break关键字(停止、表示程序满足了就跳出了不会再往下执行了)
switch和if分支的区别?
- if判断可以是在一个区间范围内,得到的结果是布尔类型
- switch判断当前的值是否是相等的
- switch判断相等用的是"==="
三元运算符/三目运算符: 对else-if分支的简写
语法:
判断条件 ? 条件的结果是true的时候执行这里的代码段 : 条件为false时候执行的代码段
判断条件?代码1:代码2(若判断结果为true执行代码1反之亦然)
例子:
var a = Number(prompt('a的值'))
var b = Number(prompt('b的值'))
var c = Number(prompt('c的值'))
a>b? (a>c?alert('a是最大值'):alert('c是最大值')):(b>c?alert('b是最大值'):alert('c是最大值'))
隐式转换(拓展)
隐式转换:在运算、比较、逻辑等过程找那个根据的类型偷偷的去转换
字符串中的隐式转换
- 加号的某一侧有字符串的情况 默认会进行字符串的拼接
数学运算
- 加号是有拼接
- 除了加号 有数字类型的默认就会进行数学运算
比较运算
- 字符串和数字类型是无法进行比较的 字符串会隐式转换为数字类型
- 特殊情况: 字符串和字符串进行比较(通过ASCII表或者unicode表)
例子1------------------if多分支语句
var money = Number(prompt('输入一个数字'));
if(money>=10000){
alert('吃大餐完了再去洗脚');
}
else if(money>=1000){
alert('洗完脚去上网');
}
else if(money>=100){
alert('洗脚 100块钱的快乐');
}
else{
alert('回家自己洗');
}
例子2------------------switch语句
// 1~7 七个数字 用户在浏览器输入一个数字 判断数字对应的星期几
var num = prompt('请输入1~7之间的整数')
num = Number(num)
switch(num){
case 1:
alert('今天是星期一')
break;
case 2:
alert('今天是星期二')
break;
case 3:
alert('今天是星期三')
break;
case 4:
alert('今天是星期四')
break;
case 5:
alert('今天是星期五')
break;
case 6:
alert('今天是星期六')
break;
case 7:
alert('今天是星期天')
break;
default:
alert('输入的有错误')
}