“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第12篇文章,点击查看活动详情”
一、操作语句 判断语句
1、if/else if/else
只要满足其中一个条件,后面的条件就不再执行
1.1 单独一个if
var num=10;
if(num>2){
alert("你很优秀");
}
1.2 if/else
var num=5;
if(num>0){
alert("你好")
}else{
alert("你坏")
}
1.3 if/else if/else
var num=0;
if(num>0){
alert("正数")
}else if(num<0){
alet("负数”)
}else{
alert(0)
}
1.4 if/ eles if else if .../else
if 条件语句,只要满足其中一个条件,后面的条件就不再执行
var num=6;
if(num>0){
num--;
alert("1:"+num);
}else if(num>0 && num<10){
num++;
alert("2:"+num);
}else {
num--;
}
console.log(num)
2、判断条件
- && 表示并且,左右两边的条件必须同时满足
- || 表示或,左右两边的条件只要满足其一即可
- 如果是单独的一个值,先把它转换成布尔类型,如果是真,条件 成立,如果假,条件不成立。
回忆其它值转换为布尔值,只有哪几种情况是false;
- 0
- NaN
- null
- “”
- undefined
if(true){
alert("刷碗去!")
}
if(false){
alert("去刷剧")
}else{
alert("去睡觉")
}
if(0){
}
if(判断条件){
条件为真时 走离着最近的大括号
条件为假 继续向下执行
遇到else if 就继续判断条件
遇到else{}直接执行
注:最多只执行一段大括号的代码 执行完这一段直接跳出判断
}else if(){
}
二、三元运算符
1、【语法】:
条件?条件成立执行的语句:条件不成立执行的语句
var n = 12;
if (n >= 10) {
console.log('哈哈');
} else {
console.log('嘿嘿');
}
改写成三元运算符
var n = 12;
n >= 10 ? console.log('哈哈') : console.log('嘿嘿');
2、【特殊情况】
条件成立,我想做一件事情,不成立我什么不做 可以使用null/undefined/void 0{undefined}等占位
(n >= 10 && n <= 20) ? console.log('哈哈'): null;
3、【多条语句】
如果条件成立之后,想同时执行多条语句,我们可以用“小括号”把执行语句包起来,并且语句与语句之间用“逗号”进行分割
var n = 10;
if (n == 10) {
n += 2; //n=n+2
n *= 3; //n=n*3
}
// 如果某个处理需要做多件事,我们基于()包起来,每一个事用逗号分隔
n == 10 ? (n += 2, n *= 3) : null;
4、【思考题】
把下面的代码改成三元运算符
var num=12;
if(num>0){
if(num<10){
num++;
}else{
num--;
}
}else{
if(num==0){
num++;
num=num/10;
}
}
三元运算符
num>0?(num<10?num++:num--):(num==0?(num++,num=num/10):null);
把下面的三元运算符转换为if else语句
var n = 10;
n > 0 ? (n <= 10 ? n++ : n--) : (n <= -10 ? n-- : n++);
if (n > 0) {
if (n <= 10) {
n++;
} else {
n--;
}
} else {
if (n <= -10) {
n--;
} else {
n++;
}
} */
三、switch case 操作语句
- 把表达式的值与每个 case 的值进行对比
- 如果存在匹配,则执行关联代码
switch(表达式) {
case n:
代码块
break;
case n:
代码块
break;
default:
默认代码块
}
1、[初识]
var num=6;
if(num==5){
num++;
}else if(num==6){
num--;
}else {
num=0;
}
console.log(num);
把上面的改成switch case 语句
var num=6;
switch (num){
case 5:
num++;
break;
case 6:
num--;
break;
default:
num=0;
}
console.log(num);
2、switch case 和if else 的区别
如果把上面的案例,num的值改为字符串的6,用if else 和switch case 会出现什么样的结果呢,答案是否还相同呢?
在if else 条件判断中,两个== 进行比较的时候,如果数据类型不同,会先转换为相同的数据类型再比较
在switch case 中,条件判断 其实是三个===,绝对等于,不仅要值相同,类型也要相同,所以才会出现上面不同的情况。
3、巧用switch case 中的break
switch case 中的break 表示条件终止,如果不加break 的时候,会继续往下执行。 但是我们可以巧用这个特点,来做条件或当num等于6或者num=10 的时候,让num的值都加加
var num=6;
switch (num){
case 6:
case 10:
num++;
break;
default:
num=0;
}
console.log(num);