zoukankan      html  css  js  c++  java
  • JS中不同类型的值比较问题

    我们比较数据的时候大多是以下两种情况:

    3 > 4 ;
    "m" > "n" ;

    但有时候可能会出现比较符号两侧的数据类型不相同的场景,例如

    5 > "a1";
    "m">true;
    2 < undefined;
    "x" > null;

    看似复杂,实际上只要知道他们的比较规则就简单了。

    当比较的两个值类型不同时,会通过Number()方法将双方转化成数字类型的数值,然后再比较

    要注意的是,如果比较双方有一个为NaN(转化后),则结果均为false

    现在再研究一下各类型通过Number()的转化情况。

    Number(1.5)-->1.5
    Number("")-->0
    Number("11")-->11
    Number("a1")-->NaN
    Number("1a")-->NaN
    Number(true)-->1
    Number(false)-->0
    Number(null)-->0
    Number(undefined)-->NaN
    Number("0x11")-->17

    现在遇到不同类型值的比较问题就清晰了,按照上面的列表对号入座进行转换再比较即可

    例如:

    "test">undefined --> false
    false < "" --> false
    "1" > false --> true
  • 相关阅读:
    操作MySQL数据库相关代码
    JSP(1)
    servlet(6)
    servlet(5)
    Java易错知识点(2)
    Java Web项目中解决中文乱码方法总结
    Java易错知识点(1)
    servlet(4)
    TCP协议之三次握手四次挥手
    day-4 map&filter
  • 原文地址:https://www.cnblogs.com/TiestoRay/p/3185503.html
Copyright © 2011-2022 走看看