重学if else吧!
博格巴世界杯 1990 2026-02-23 03:22:46

起因。。

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

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

大概处理的数据如下:

代码语言:javascript复制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复制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复制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是一个条件链,它是从上到下依次检查条件的:

先检查if条件。如果if条件为true,执行对应的代码块,然后跳过整个else if链。如果if条件为false,再依次检查else if条件,直到找到一个true为止。如果所有条件都为false,则执行else(如果有的话)。

Copyright © 2022 98世界杯_乌拉圭世界杯 - cy078.com All Rights Reserved.