什么是编程?通俗意见上来讲,就是把人的思维与步骤通过代码的形式书写展示出来,js的流程控制包含条件判断if,switch选择,循环for while;if(表达式 条件)=>真{语句}比方说var score=70;if(90<=score<=100){ console.log("123")},执行结果显示的却是123,怎么办了?C语言的解释是90<=score的关系运算表达式结果是布尔值,true or false,然后写成表达式就变成了"前次布尔结果"<=100,这还是一个关系运算表达式;如果为true,就自动变成1<100,反之false=0<100.因此不论结果是0还是1,这个表达式永远为true,所以应该写成逻辑与表达式:90<=score&&score<=100
什么是编程?通俗意见上来讲,就是把人的思维与步骤通过代码的形式书写展示出来,JavaScript的流程控制包含条件判断if,switch选择,循环for while;if(表达式 条件)=>真{语句}
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>条件判断if else</title>
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 if(score>80)
25 {
26 console.log('score>80执行该语句')
27 }
28 else
29 {
30 console.log('不满足上面条件,执行该语句')
31 }
32 </script>
33 </head>
34 <body>
35 </body>
36 </html>
如果要求90<=score<=100,执行结果为123,80<=score<90,执行结果为456,否则都是789
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>if else 区间执行</title>
7 <script>
8 var score=70;
9 if(90<=score<=100){
10 console.log("123")
11 }
12 else if(80<=score<90)
13 {
14 console.log('456')
15 }
16 else
17 {
18 console.log('789')
19 }
20 </script>
21 </head>
22 <body>
23 </body>
24 </html>
通过上面代码,我们发现,不论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
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>if else 区间执行解决办法</title>
7 <script>
8 var score=70;
9 if(90<=score&&score<=100){
10 console.log("123")
11 }
12 else if(80<=score&&score<90)
13 {
14 console.log('456')
15 }
16 else
17 {
18 console.log('789')
19 }
20 </script>
21 </head>
22 <body>
23 </body>
24 </html>