06条件分支
3 分钟WaterNorth
一、“if” 语句 #
if(...) 语句计算括号里的条件表达式,如果计算结果是 true,就会执行对应的代码块。
if (year == 2015) {
alert( "That's correct!" );
alert( "You're so smart!" );
}
建议每次使用 if 语句都用大括号 {} 来包装代码块,即使只有一条语句。这样可以提高代码可读性。
与C++类似, if 语句块后还可以添加 else if 代码块和 else 代码块。
二、条件运算符 ‘?’ #
语法:
let result = condition ? value1 : value2;
计算条件结果,如果结果为真,则返回 value1,否则返回 value2。
使用一系列问号 ? 运算符可以返回一个取决于多个条件的值。
let age = prompt('age?', 18);
let message = (age < 3) ? 'Hi, baby!' :
(age < 18) ? 'Hello!' :
(age < 100) ? 'Greetings!' :
'What an unusual age!';
alert( message );
可能很难一下子看出发生了什么。但经过仔细观察,我们可以看到它只是一个普通的检查序列。
- 第一个问号检查
age < 3。 - 如果为真 — 返回
'Hi, baby!'。否则,会继续执行冒号":"后的表达式,检查age < 18。 - 如果为真 — 返回
'Hello!'。否则,会继续执行下一个冒号":"后的表达式,检查age < 100。 - 如果为真 — 返回
'Greetings!'。否则,会继续执行最后一个冒号":"后面的表达式,返回'What an unusual age!'。
三、switch语句 #
switch 语句有至少一个 case 代码块和一个可选的 default 代码块。
就像这样:
switch(x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}
- 比较
x值与第一个case(也就是value1)是否严格相等,然后比较第二个case(value2)以此类推。 - 如果相等,
switch语句就执行相应case下的代码块,直到遇到最靠近的break语句。如果没有break,程序将不经过任何检查就会继续执行下一个case。 - 如果没有符合的 case,则执行
default代码块(如果default存在)。
评论
0评论功能待配置数据库后启用。