Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >重学if else吧!

重学if else吧!

作者头像
biaoblog.cn 个人博客
发布于 2025-05-21 01:24:28
发布于 2025-05-21 01:24:28
8700
代码可运行
举报
运行总次数:0
代码可运行

起因。。

最近在写代码的时候 做一个循环判断,

需要逐个判断循环项的某些值去做相对应的逻辑处理

大概处理的数据如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let maps = [
{
  ...balabala,
   hasA:true,
   hasB:true
}
]


for(let map of maps ){
  if(map.hasA){
   // some script A
  }else if(map.hasB){
  // some script B
  }
}

之前习惯了switch的写法,手动自己写break,这里竟然以为 hasA和hasB的相关代码都会执行。。。。

还纠结了很久,后来查了一下GPT

if:适合单独判断的条件,即使前面的条件满足,后续条件也会被检查。下列代码会执行some script A 也会执行 some script B

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let maps = [
{
  ...balabala,
   hasA:true,
   hasB:true
}
]


for(let map of maps ){
  if(map.hasA){
   // some script A
  }
  if(map.hasB){
  // some script B
  }
}

else if:适合多个条件的互斥判断,只要前面的条件满足,后续的else if就不会被检查。 下列代码只执行some script A

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let maps = [
{
  ...balabala,
   hasA:true,
   hasB:true
}
]


for(let map of maps ){
  if(map.hasA){
   // some script A
  }else if(map.hasB){
  // some script B
  }
}

if-else if是一个条件链,它是从上到下依次检查条件的:

  1. 先检查if条件。
  2. 如果if条件为true,执行对应的代码块,然后跳过整个else if链。
  3. 如果if条件为false,再依次检查else if条件,直到找到一个true为止。
  4. 如果所有条件都为false,则执行else(如果有的话)。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验