条件式就是小学常写的造样造句:如果...就(否则)...的概念。
这边会介绍几种常用的条件式语句 if、三元运算子和 switch。
if(条件){符合条件(true)时要执行的动作}
if ( 3 > 2) {
console.log("3 > 2"); // 3 > 2
}
因为 3 > 2 是 true,所以会执行大括号中的动作,印出 3 > 2
if(条件){
符合条件(true)时执行的动作;
}else{
不符合条件(false)时执行的动作;
}
例如:
let grade = 40;
if(grade >= 60){
console.log("恭喜通过");
}else{
console.log("你要加油");
}
上面的例子因为 grade = 40,经过 if 里条件的时候不符合,所以会跳过,继续往下执行 else 里的动作,结果会显示你要加油。
if(条件 1){
符合条件 1 时要做的事
}else if(条件 2,3,4...){
符合条件 2 or 3 or 4 or ... 时要做的事
}else{
都不符合前面的几个条件时,就执行 else 里面的动作;
}
例如:
let age = 20;
if(age >= 65){
console.log("请购买敬老票");
}else if(age >= 18){
console.log("请购买成人票");
}else if(age >= 8){
console.log("请购买儿童票");
}else{
console.log("免费入场");
}
上面的例子,因为 age = 20,符合 age >= 18 这个条件,所以结果会印出请购买成人票。
?
和 :
,符合条件(true)就执行 ?
後的动作,否则执行 :
後的动作。?
後的动作,印出 Scooter。let myAge = 23;
let age = (myAge >= 18) ? "Scooter" : "Bike";
console.log(age); // Scooter
把上面 if else 的例子改成三元运算子,结果如下:
grade = 40 没有符合条件 >= 60,所以会执行 :
後的动作,印出你要加油。
let grade = 40;
let result = (grade >= 60) ? "恭喜通过" : "你要加油";
console.log(result); // 你要加油
再举个例子,将下面 if...else...的程序码改写成三元运算子
let age = 18;
let price;
if (age < 18) {
price = 100;
} else if (age < 60) {
price = 150;
} else {
price = 75;
}
console.log(price); // 150
改成三元运算子的写法如下:
let age = 18;
let price = (age < 18) ? 100 : (age < 60) ? 150 :75;
console.log(price); // 150
switch (expression) {
case value1:
//当 expression 的值符合 value1
//要执行的陈述句
break;
case value2:
//当 expression 的值符合 value2
//要执行的陈述句
break;
...
case valueN:
//当 expression 的值符合 valueN
//要执行的陈述句
break;
default:
//当 expression 的值都不符合上述条件
//要执行的陈述句
break;
}
例如:
let month = "9";
switch (month) {
case "1":
console.log("1月");
break;
case "2":
console.log("2月");
break;
case "3":
console.log("3月");
break;
case "4":
console.log("4月");
break;
case "5":
console.log("5月");
break;
case "6":
console.log("6月");
break;
case "7":
console.log("7月");
break;
case "8":
console.log("8月");
break;
case "9":
console.log("9月");
break;
case "10":
console.log("10月");
break;
case "11":
console.log("11月");
break;
case "12":
console.log("12月");
break;
default:
console.log("无法判断");
break;
}
month = 9,符合 case "9",所以结果会印出 9 月。
参考资料:
MDN - Conditional (ternary) operator
How To Write Conditional Statements in JavaScript
MDN - switch
<<: [重构倒数第27天] - 在 Vue 各种 CSS 的引入使用
>>: 【Day4】不可貌相的JS变数型别:如何练成一个物件
作为安全专家,我们应该尽最大努力做出风险意识,明智的决策。窃听,仅密文攻击,流氓接入点和邪恶双胞胎...
我们昨天教了最基本的model建立了,相信大家应该大致都懂那些流程了吧!(应该都懂吧...) 大家一...
Resources.Load() unity手册 之前使用图片、文件都是将变数设定成public,然...
colab连结 普遍我们拿来训练的图片都是RGB,普遍都是机器学习的CNN层找到一些局部特徵来做分类...
过渡动画 transition这个翻译成过渡的意思,一个吸引人的图表当中,加入了一点动画成分和过渡的...