1. JavaScript 基础

  2. 深入数据和类型

  3. 函数进阶

  4. 运算符

  5. 浏览器存储

  6. Document

  7. Web API

  8. 事件

  9. 工具与规范

  10. 实例

  11. 练习

JavaScript 中有一个条件运算符 ? 可以帮助我们简化 if 语句。

$$tip

条件运算符 ? 也被称为三元运算符,因为它是仅此一个拥有三个运算元的运算符。

$$

语法:

let result = condition ? expression1 : expression2
  • condition:布尔值的判断条件,如果为 true 则执行表达式 expression1 并返回值, false 则执行表达式 expression2 并返回值。
  • result:接收表达式返回的值。

买冰淇淋的例子则可以简化如下。

$$edit$$
$$jsdemo$$
let money = 10
money >= 20 ? alert("买个冰淇凌") : alert("买不起,回家")

由于 alert 函数没有返回值,以下再看一个有返回值的例子。

首先是用 if ... else 实现的例子:

$$edit$$
$$jsdemo$$
let age = prompt("你多少岁了?")

let result
if (age >= 18) {
    result = "允许访问"
} else {
    result = "请你关掉网站"
}

alert(result)

使用 ? 运算符则可以简化如下:

$$edit$$
$$jsdemo$$
let age = prompt("你多少岁了?")

let result = age >= 18 ? "允许访问" : "请你关掉网站"

alert(result)

不推荐的写法,把 ageresult 也省略掉:

$$jsdemo$$
$$edit$$
alert(prompt("你多少岁了?") >= 18 ? "允许访问" : "请你关掉网站")

虽然行数变少了,但是会造成代码可读性变差。