微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript之if流程控制演练,if写在区间内怎么解决

什么是编程?通俗意见上来讲,就是把人的思维与步骤通过代码的形式书写展示出来,JavaScript的流程控制包含条件判断if,switch选择,循环for while;if(表达式 条件)=>真{语句}

 1 <!DOCTYPE html>
 2 <html lang="en" 3 head 4     Meta charset="UTF-8" 5     name="viewport" content="width=device-width,initial-scale=1.0" 6     title>条件判断if else</ 7     script 8 //    var score=?
 9     var score=50;
10     if(score>90)
11     {
12      console.log('执行该语句')
13     }
14     else 
15 16      console.log('不满足上面条件,执行该语句')
17 18 
19    var score=79;
20    if(score>90)
21    {
22     console.log('score>90执行该语句23    }
24    else  8025 26 score>80执行该语句27 28    else
29 30 不满足上面条件,执行该语句31 32     33 34 body35 36 html>

如果要求90<=score<=100,执行结果为123,80<=score<90,执行结果为456,否则都是789

>if else 区间执行 8         70 9         (<=score100){
            console.log("123        }
12         else <        {
45616         18 78919 20     21 22 > 
23 24 >

 通过上面代码,我们发现,不论score=?,它的值永远是123,这是为什么了?原来:这样写不能实现你想要的逻辑,但这表达式本身是合法的复合表达式。这个表达式由两个关系运算符组成,关系运算符是左结合的,故C语言是这样解释这个表达式的:先看左边的90<=score,这个关系运算表达式的结果是布尔值:true or false然后表达式就变成了 “前次布尔结果”<= 100,这还是一个关系运算表达式,前次的boolean结果如果为ture就会自动转换为整型1,这样整个表达式就变成了 1 <= 100。同理,前次bool为false的话,整个表达式就成了 0 <= 100。不管前面是0还是1,都小于100,所以整个表达式永远为true按照你的逻辑,应该写成逻辑与表达式: 90 <= score && score <= 100

>if else 区间执行解决办法&&>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐