什麼是編程?通俗意見上來講,就是把人的思維與步驟通過代碼的形式書寫展示出來,js的流程式控制制包含條件判斷if,switch選擇,迴圈for while;if(表達式 條件)=>真{語句}比方說var score=70;if(90<=score<=100){ console.log("123")},執行... ...
什麼是編程?通俗意見上來講,就是把人的思維與步驟通過代碼的形式書寫展示出來,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,這還是一個關係運算表達式,前次的bool結果如果為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>