「如果怎样就做某件事,否则做另一件事。」这个在聊天时都会拿来用的“程序语法”,来看看在 JS 上怎麽运作。
当指定的条件为 true,就会执行後续的指令,JavaScript 条件语法有:if...else 和 switch 两种。
if (条件式) { // 如果怎样
// 就做某件事
}
else { // 否则
// 做另一件事
}
else if (条件式 2) { // 新增条件式 2 的状况
// 做另一件事
}
else if (条件式 3) { // 新增条件式 3
// 做另一件事
}
// p.s. else 可以有也可以没有
在 Visual Studio Code 上的范本
用来判断某月份是第几季度,用上前面介绍过的 ===
跟 ||
var month = 3;
if ( month === 1 || month === 2 || month === 3 ) {
console.log("第一季");
}
else if ( month === 4 || month === 5 || month === 6 ) {
console.log("第二季");
}
else if ( month === 7 || month === 8 || month === 9 ) {
console.log("第三季");
}
else if ( month === 10 || month === 11 || month === 12 ) {
console.log("第四季");
}
else {
console.log("月份错误");
}
第一季
因为符合条件式 1,所以回传第一季。
Math.ceil() 函式会回传大於等於所给数字的最小整数。 -- MDN
因为判断式太多不好维护,可以用 Math.ceil 改成:
var month = 3;
if ( Math.ceil( month / 3 ) === 1 ) {
console.log("第一季");
}
else if ( Math.ceil( month / 3 ) === 2 ) {
console.log("第二季");
}
else if ( Math.ceil( month / 3 ) === 3 ) {
console.log("第三季");
}
else if ( Math.ceil( month / 3 ) === 4 ) {
console.log("第四季");
}
else {
console.log("月份错误");
}
第一季 // 结果相同,也更简洁
而虽然已经变得简短,但如果 month 刚好是第四季,那就要做到第四次判断才会跑出结果,所以这时候可以改用 switch 的语法。
switch 语句会比对表达式里头的值是否符合 case 条件,然後执行跟这个条件相关的陈述式, 以及此一符合条件以外,剩下其他条件里的陈述式。
switch (表达式或变数) {
case value: // 表达式的值
break; // 每次都要加,不然程序会一路跑到底
default: // 预设值,如果 case 条件都不成立就执行
break;
}
在 Visual Studio Code 上的范本 switch MDN 说明
刚刚的条件改写成 switch 後变得更简洁。
var month = 11;
switch ( Math.ceil( month / 3 )) {
case 1:
console.log("第一季");
break;
case 2:
console.log("第二季");
break;
case 3:
console.log("第三季");
break;
case 4:
console.log("第四季");
break;
default:
console.log("月份错误")
break;
}
第四季 //
虽然还有另一个按纽,但是今天我想先来玩玩内联模式 前置作业 还记得 Day04 - Telegra...
在学习 Python 之前,我们需要先安装好这个语言, 这边准备了三个作业系统的安装方式。 MacO...
前言 为什麽要把 debug 拿出来说呢? 我发现其实 debug 的流程比较少人讨论, 一般我们会...
在这个各种前端框架、开发工具层出不穷、百花齐放、百鸟齐鸣的美好时代, E2E 自动化测试工具的选择...
这次最大挑战不是连假,而是 D2R 的发售,为了 SOJ 断赛我可以... 适用人员: 技术人员。 ...