js 表达式与运算符 详解(下)

比较运算符:

> 、>= 、<、 <=、  ==、 !=、 ===、 !==、

比较运算符的结果都为布尔值

==只比较值是否相等    而    ===比较的是值和数据类型都要相等

 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>

 

posted @ 2016-02-10 02:21  Ziksang  阅读(294)  评论(0编辑  收藏  举报