写代码的时候,程序不可能永远一条路走到黑。很多时候,我们需要让程序“做选择”,比如登录时判断密码对不对,购物时看有没有优惠券可用。这些“做选择”的逻辑,靠的就是条件判断。
最常见的 if 语句
if 就像生活中说的“如果……就……”。比如“如果天黑了,就开灯”。在代码里也差不多:
if (password === '123456') {
console.log('登录成功');
}
这行代码的意思是:如果输入的密码等于 123456,就输出“登录成功”。
加上 else 处理另一种情况
有时候我们不仅要处理“对”的情况,还得处理“错”的。这时候就加上 else,相当于“否则”。
if (score >= 60) {
console.log('及格啦!');
} else {
console.log('再加油吧');
}
分数够 60 就恭喜,不够就鼓励一下。
多种情况?用 else if
现实中的选择往往不止两个。比如快递配送状态可能是“已发货”“运输中”“已签收”。这时候可以用 else if 来扩展判断:
if (status === '已发货') {
showTracking();
} else if (status === '运输中') {
updateLocation();
} else if (status === '已签收') {
showThankYou();
} else {
console.log('状态异常');
}
简洁写法:三元运算符
有些简单的判断不需要写多行,可以用三元运算符一行搞定。比如设置默认头像:
const avatar = userAvatar ? userAvatar : '/default.jpg';
意思是:如果有用户头像,就用它;没有的话,显示默认图片。这种写法短小精悍,适合简单场景。
多个条件组合使用
实际开发中,经常要同时满足多个条件。比如“年龄大于 18 且是会员”才能参与活动。这时可以用 &&(并且)和 ||(或者):
if (age > 18 && isMember) {
joinEvent();
}
if (isVIP || hasCoupon) {
applyDiscount();
}
第一个例子需要两个条件都成立,第二个只要有一个成立就行。
switch 适合固定值判断
当你要根据一个变量的不同固定值来执行不同操作时,switch 更清晰。比如处理菜单选项:
switch(action) {
case 'save':
saveFile();
break;
case 'open':
openFile();
break;
case 'exit':
exitApp();
break;
default:
console.log('无效操作');
}
每个 case 对应一种情况,最后的 default 是兜底方案。
掌握这些条件判断的写法,就像给程序装上了大脑,让它能根据不同情况做出反应。刚开始写代码时多练习几种写法,慢慢就知道什么时候该用 if,什么时候该用 switch,写出既清楚又高效的逻辑。