一、编程语言中最常用的判断:if、else if、else
let x = 10;
if (x) {
// 条件(验证真假的过程):
// x==10 x===10 x>10 x<10 x>=10 ...
// x 把当前值转换为布尔类型验证真假
// x>=0 && x<=10 或者 x==1 || x==2
// ....
x++;
} else {
// 以上条件都不成立,执行else
x--;
}
console.log(x); */
let x = '10';
if (x == 1) {
x += 1;
} else if (x == 5) {
x += 2;
} else if (x == 10) { //=>'10'==10 把字符串转换为数字 条件成立
x += 3;
// x = x + 3 => '103'
} else {
x += 4;
}
console.log(x);
二、三元运算符:处理最简单的 if \ else 情况
条件?成立处理的事情:不成立做的事情;
let x = 10;
if (x>=10) {
x++;
} else {
x--;
}
x >= 10 ? x++ : x--;
console.log(x);
1.在条件成立或者不成立的时候,如果不想做一些事情,则使用null/undefined等来占位即可;不占位会报错;
let x = 10;
if (x == 10) {
x++;
}
let x = 10;
x == 10 ? x++ : null;
2.如果需要做多件事情,则用小括号包起来,每一件事情中间用逗号分隔即可
let x = 10;
if (x > 0) {
x++;
console.log(x);
}
x > 0 ? (x++, console.log(x)) : null;
3.可以根据需求完成三元运算符的嵌套
let x = 10;
if (x > 0) {
if (x < 10) {
x++;
} else {
x--;
}
} else {
x--;
}
x > 0 ? (x < 10 ? x++ : x--) : x--;
三、 一个变量在不同值情况下的不同操作,我们可以改写为 switch case 判断(他只能应用于等于什么值做什么事情,不能用户大于或者小于啥值做啥)
let x = '10';
if (x == 1) {
x += 1;
} else if (x == 5) {
x += 2;
} else if (x == 10) {
// 条件成立
x += 3;
} else {
x += 4;
}
console.log(x); =>'103'
let x = '10';
switch (x) {
case 1: //=>在x等于1的情况下做什么
x += 1;
break; //=>每一种情况结束都要设置break(以供当此条件成立并处理完事情后,通知代码不在向下执行)
case 5:
x += 2;
break;
case 10: //=>'10'===10 FALSE
x += 3;
break;
default: //=>等价于else,而且最后一个判断结束无需设置break
x += 4;
}
console.log(x); //=>'104' 每一种case情况都是基于 === 进行比较的(严格比较,需要保证数据类型的一致)