你的位置:首页 > Java教程

[Java教程]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)  //=>false11   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=114   alert(j)    //j=>1  因为断点的原因,第一个表达式为false,不会再执行第二个表达式,所以J还是等于115 </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{         //=>判断出来为ture11     alert(false)12    }13   alert(i)     //=>因为经过i++  所以i=214   alert(j)    //j=>1  因为断点的原因,第一个表达式为ture,不会再执行第二个表达式,所以J还是等于115 </script>

1 <script>2   //!逻辑运算符,必须要求两个表达式3   alert(!true) //=>返回为false4   alert(!false)  //=>返回为true  以上都是取反5 </script>