这是 javascript-development-lab 的第 02 个最小实验。
理解 JavaScript 如何根据条件决定“接下来执行哪一段代码”。
本实验使用一个简单的会员判断场景,根据积分、VIP 状态和角色得到不同结果。
ifelse ifelseswitchcasebreak- 三元运算符
条件 ? A : B - 比较运算符:
>、>=、<、<=、=== - 逻辑与
&& - 逻辑或
|| - 逻辑非
!
HTML 只负责提供两类显示位置:
- 当前测试数据
- 条件判断后的结果
HTML 本身不负责决定会员等级、优惠资格和角色权限。
JavaScript 负责:
- 定义测试数据。
- 使用
if / else if / else判断会员等级。 - 使用逻辑运算符组合多个条件。
- 使用三元运算符完成简单二选一。
- 使用
switch判断不同角色。 - 把判断结果输出到页面。
原始变量
↓
条件表达式
↓
判断 true / false
↓
进入对应代码分支
↓
得到结果
↓
DOM
↓
页面显示
这一章最重要的不是记住语法,而是理解:
同一段程序,可以因为输入数据不同而走向不同路径。
重点修改:
js/app.js
建议依次测试:
memberScore = 95memberScore = 75memberScore = 50isVip = trueisVip = falsememberRole = 'admin'memberRole = 'member'memberRole = 'guest'- 输入一个不存在的角色,观察
default。
每修改一次,只观察结果如何变化,不需要增加新功能。
暂时不增加复杂功能。
后续可以继续研究:
===与==的区别- truthy / falsy
- 条件嵌套
- 短路求值
- 更复杂的权限判断
- 表单输入后实时判断
其中“表单输入”和“事件触发”会在后面的 Lab 单独研究,因此本章不提前展开。
javascript-development-lab-02-condition/
├── index.html
├── css/
│ └── style.css
├── js/
│ └── app.js
└── README.md
直接使用浏览器打开:
index.html
不需要:
- npm
- Node.js
- 构建工具
- 第三方 JavaScript 框架
完成本章后,至少应该能够解释:
if / else if / else分别在什么情况下执行。- 比较表达式最终为什么会得到
true或false。 &&、||、!分别表示什么。- 什么情况下适合使用三元运算符。
switch与多个if判断有什么区别。- 为什么修改输入数据后,程序会得到不同结果。