比較運算符: > 、>= 、<、 <=、 ==、 !=、 ===、 !==、 比較運算符的結果都為布爾值 ==只比較值是否相等 而 ===比較的是值和數據類型都要相等 1 <script> 2 var a = 5,b = 10; 3 alert(a>b) //=>false 4 alert(a>=b
比較運算符:
> 、>= 、<、 <=、 ==、 !=、 ===、 !==、
比較運算符的結果都為布爾值
==只比較值是否相等 而 ===比較的是值和數據類型都要相等
1 <script> 2 var a = 5,b = 10; 3 alert(a>b) //=>false 4 alert(a>=b) //=>false 5 alert(a>=5) //=>true 大於等於裡面只要滿足一樣則都返回true 6 alert(a<b) //=>true 7 alert(a<=b) //=>true 小於等於裡面只要滿足一樣則都返回true 8 alert(1==true) //=>true 9 alert(0==false) //=>true 把類型進行了隱式轉換的比較 10 alert(0==null) //=>false 11 alert(undefined == null) //=>true undefined 和true的值是相等的 12 alert(NaN == NaN) //=>false NaN是不能進行自身比較的 13 alert(undefined === null) //=>false undefined 和 true進行恆等比較則返回false ,因為他們值相同數據類型不同 14 </script>
邏輯運算符:
&& 、|| 、!
邏輯運算符的返回結果是布爾類型
在邏輯&& 和 ||必須要求兩個表達式
&&如果第一個表達式為false造成短路
||如如第一個表達式為true造成短路
1 <script> 2 //&&邏輯運算符,必須要求兩個表達式 3 alert(true && true) //=>true 在邏輯&&中只要一個表達式為true則為true 4 alert(true && false) //=>false 5 alert(false && true) //=>false 這三種里只要一個為false則為false 6 alert(false && false) //=>false 7 var i = 0,j =1 8 if(i++ && j--){ //i=0 隱式轉換為了false 9 alert(true) 10 }else{ //=>判斷出來為false 11 alert(false) 12 } 13 alert(i) //=>因為經過i++ 所以i=1 14 alert(j) //j=>1 因為斷點的原因,第一個表達式為false,不會再執行第二個表達式,所以J還是等於1 15 </script>
1 <script> 2 //||邏輯運算符,必須要求兩個表達式 3 alert(true || true) //=>true 在邏輯&&中只要一個表達式為true則為true 4 alert(true || false) //=>true 5 alert(false || true) //=>true 這三種里只要一個為false則為false 6 alert(false || false) //=>false 7 var i = 1,j =1 8 if(i++ || ++j){ //i=1 隱式轉換為了true 9 alert(true) 10 }else{ //=>判斷出來為ture 11 alert(false) 12 } 13 alert(i) //=>因為經過i++ 所以i=2 14 alert(j) //j=>1 因為斷點的原因,第一個表達式為ture,不會再執行第二個表達式,所以J還是等於1 15 </script>
1 <script> 2 //!邏輯運算符,必須要求兩個表達式 3 alert(!true) //=>返回為false 4 alert(!false) //=>返回為true 以上都是取反 5 </script>