什么是编程?通俗意见上来讲,就是把人的思维与步骤通过代码的形式书写展示出来,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 举报,一经查实,本站将立刻删除。