-
if分支语句
-
单分支语句
-
if单分支:只有一个选择 执行或者是不执行
语法:
if(条件){
小括号内的条件如果为true的情况下 就执行这里的代码段
}
注意
- 建议书写分支的时候符号一起书写
- 小括号内的条件可以是逻辑运算、数学、比较..最后的结果是布尔类型
-
-
双分支语句
-
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语句
-
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('输入的有错误') }