zoukankan      html  css  js  c++  java
  • 关于==的比较规则

    用于操作数据值的操作符:+,-,++,|,||,==,===等等;

    操作符能适用于很多值,例如String,number,boolean,甚至object。

    但是,在应用于对象时,操作符通常会调用对象的valueof()或toString()方法,以便取得可以操作的值。

    而null和undefined没有toSring()方法;

    null和undefined除了和彼此与自身相等之外,和任何值都不想等。

    关于==的比较规则大体有一下几点:
    1、操作数为数字与字符串时,将字符串转换为数字,再比较值
    2、操作数为布尔和非布尔时,现将布尔转换为数字,再比较值
    3、普通类型(布尔/字符串/数字)和对象类型(数组、对象等)比较时,现将对象类型进行toString()的转换,如果操作数有布尔类型,则现将布尔类型转换为数字,然后在进行对象的转换,再比较值
    4、null和undefined,关于它们更多的是记住规则:(1)null == undefined (2)null与undefined不能进行类型转换(换句话说不能进行类型转换,那么怎么能进行同其他类型的比较呢?那自然就是false了)
    undefined == false;             //false
    undefined == true;            //false
    null==undefined;                     //true
    null==null;                              //true;
    undefined==undefined;            //true
    null==false;                        //false
    undefined==false;               //false
    null==0                              //false
    undefined==0                     //false  
    NaN == NaN                       //false
  • 相关阅读:
    Minimum Cost POJ
    SPFA费用流模板
    ISAP模板
    822D My pretty girl Noora
    822C Hacker, pack your bags!
    Dinic模板
    extjs最普通的grid
    springmvc配置首页的方式
    JSTL select和checkbox的用法
    请教<context:component-scan/>和<mvc:annotation-driven/>的区别20
  • 原文地址:https://www.cnblogs.com/sunmarvell/p/9003036.html
Copyright © 2011-2022 走看看