zoukankan      html  css  js  c++  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)    //=>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>
  • 相关阅读:
    10 个雷人的注释,就怕你不敢用!
    Java 14 之模式匹配,非常赞的一个新特性!
    poj 3661 Running(区间dp)
    LightOJ
    hdu 5540 Secrete Master Plan(水)
    hdu 5584 LCM Walk(数学推导公式,规律)
    hdu 5583 Kingdom of Black and White(模拟,技巧)
    hdu 5578 Friendship of Frog(multiset的应用)
    hdu 5586 Sum(dp+技巧)
    hdu 5585 Numbers
  • 原文地址:https://www.cnblogs.com/Ziksang/p/5185830.html
Copyright © 2011-2022 走看看