zoukankan      html  css  js  c++  java
  • 运算符基础知识——比较运算符

    x==5;

    == 等于 x==8 为 false
    === 全等(值和类型) x===5 为 true;x==="5" 为 false
    != 不等于 x!=8 为 true
    > 大于 x>8 为 false
    < 小于 x<8 为 true
    >= 大于或等于 x>=8 为 false
    <= 小于或等于 x<=8 为 true

    若两值比较是否相等,a==b;两值可能不是同一类型,==会进行默认的数据类型转换,规则如下:

        1.一个操作数是布尔值,则比较之前将其转换为数值(0或者1);

        2.一个操作数是字符串,则比较之前将其转换成为数值在比较;

        纯字符串比较,转换成ASCII码在进行比较;

        纯数字和数字字符串相比较,则将字符串数字隐式转换成数字再进行比较;

        纯数字和非数字字符串比较,都返回false;

        3.一个操作数是对象,则先调用valueOf()或者toString()方法后在用返回值比较;

        一个操作数是对象,则会先调用valueOf()或toString()方法后再用返回值比较。

        var a = {toString:function(){
          return 1;
        }},b=1;
        console.log(a==b)      // true

      

        对象 == 对象        //false,比较的是他们的地址,每个新创建对象的引用地址都不同

        var a = {b:1},h=a; console.log(a==h)       //true,引用地址一样

        var a = {b:1},b={b:1};  console.log(a==b)          //false

    两个操作数都是对象,则比较他们是否是同一个对象,如果都指向同一个对象,则返回true,否则返回false;

        4、不需要任何转换的情况下,null和undefined是相等的;

        5、任何涉及NaN的操作(NaN/10)都会返回NaN;NaN与任何值都不相等,包括它本身

        6、在全等和不全等的判断上,比如值和类型都相等才返回true,否则返回false;

       

      

    若只有一个值,判断真假时,只有(NaN,‘ ’,0,null,undefined)这五个为false,其余均为true;

        ! :取反     ,  !!:将其他数据类型转化为布尔类型。

    console.log(!'0');              //false

    console.log(!0);                //true

    console.log(!!'1');             //true

    console.log(!!0);              //false

    console.log(!!true);         //true

    console.log(!!'false');     //true

    在关系运算中,‘ ’可以自动转换为0或者false;

      null==0    //false,null自动转换为0,但在比较运算上,null和undefined没有自动转换(null!=0)

       ‘’==0    //true,''字符串在比较的时候,会自动转换

    console.log(isNaN('1'));                    //false

    isNaN() 函数用于检查其参数是否是非数字值。如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。能自动转化为数字的isNaN()都返回false;

  • 相关阅读:
    向对象数组中添加新的属性 Jim
    vuecli3.0 postcsspxtoviewport将px转化为vwvh适配/Web 端屏幕适配方案 Jim
    js深拷贝与浅拷贝 Jim
    行业死亡案例汇总(客观记录不做评价)
    wins和linux 系统不同编码格式导致的.py执行问题: bad interpreter: No such or file directory
    Pyhon之类学习1
    How to handle error In $.get()
    sql 修改列名及表名
    程序设计类网站
    数据类型
  • 原文地址:https://www.cnblogs.com/tc-progress/p/9173298.html
Copyright © 2011-2022 走看看