判断条件的转换
if (…) 语句会计算圆括号内的表达式,并将计算结果转换为布尔型。
l 数字 0、空字符串 ""、null、undefined 和 NaN 都会被转换成 false。
l 其他值被转换为 true
例子1:
if (0) { // 永远为false,不会执行
...
}
例子2:
if (1) { // 永远为真
...
}
问号(?)运算符号
问号运算符在作为判断运算符的时候被称作三元运算符。
语法:
let result = condition ? value1 : value2;
如果结果为真,则返回 value1,否则返回 value2。
例子1:
let age = 20;
let adult = age>18 ? 'the one is adult' : 'teenager';
alert(adult)
结果:
例子2:多个问号一起使用,相当于多个if else 连续使用。
例如下面两段具有相同功能。
段落一:
let age = prompt('age?', 18);
let message = (age < 3) ? 'Hi, baby!' :
(age < 18) ? 'Hello!' :
(age < 100) ? 'Greetings!' :
'What an unusual age!';
alert( message );
段落二:
if (age < 3) {
message = 'Hi, baby!';
} else if (age < 18) {
message = 'Hello!';
} else if (age < 100) {
message = 'Greetings!';
} else {
message = 'What an unusual age!';
}