if-else if-else结构中else语句的触发条件咨询
if-else if-else结构中末尾else的触发逻辑
末尾的else仅当所有上方的if和else if条件都不满足时才会触发,绝对不是只要起始if条件不满足就执行。
这个分支结构的执行逻辑是“依次排查、命中即停”:
- 先判断第一个
if的条件,一旦满足,就执行它的代码块,整个分支结构直接结束,后面的else if和else都不会再被检查 - 如果第一个
if不满足,才会去检查第一个else if的条件;如果满足,执行对应代码块,结构结束 - 按照这个逻辑依次往下,只有当所有前置的
if和else if条件都不成立时,才会走到最后的else,执行它的代码
举个具体的例子更清楚:
let score = 65; if (score >= 90) { console.log("优秀"); } else if (score >= 70) { console.log("良好"); } else if (score >= 60) { console.log("及格"); } else { console.log("不及格"); }
这里score是65,第一个if(>=90)不满足,第二个else if(>=70)也不满足,第三个else if(>=60)满足,所以执行“及格”的输出,后面的else根本不会碰。只有当score低于60时,所有前置条件都不满足,才会执行else里的“不及格”输出。
内容的提问来源于stack exchange,提问作者Seeker
相关产品推荐
相关产品推荐

