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>
  • 相关阅读:
    华为P20 无法投屏到电视
    configuration error &ndash; unknown item &lsquo;umask&rsquo; (notify administrator)
    oracle不支持update from的语法
    SQL Server 中update的小计
    sqlplus连接oracle数据库--密码含特殊字符
    redhat 7.6安装oracle 11gR2遇到两个问题
    ORA-15032 ORA-15028
    ORA-07391 sftopen error unable to open text file
    ORA-01017 invalid username/password logon denied
    Oracle CRS/GI 进程介绍
  • 原文地址:https://www.cnblogs.com/Ziksang/p/5185830.html
Copyright © 2011-2022 走看看