• ==与===的区别判断


    ==: 只要值相等就可以(先判断类型,类型不同的话,先做类型转换,转成相同的类型,然后判断值是否相同)

    ===:需要值和类型都相同,如果类型不同就返回false,类型相同的话,继续比较值是否相等。

    0==''   // true 先做类型转换

    '0' =='' //false 类型相同,直接比较值是否相等


    举例说明:

    "1" == true

    类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;

    此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;

    此时,"==" 左右两边的类型都为数值型,比较成功!

    如果比较:"1" === true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;

    如果比较:"1" === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;

    如果比较: 1 === 1 左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true;

    如果比较: 1 === 2 左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false;

    简而言之就是 "==" 只要求值相等; "===" 要求值和类型都相等

  • 相关阅读:
    Algs4-1.4DoublingRatio
    Algs4-1.4TwoSumFast
    Algs4-1.4ThreeSumFast
    Algs4-1.4ThreeSum
    Algs4-1.4TwoSum
    Algs4-1.3.50快速出错的迭代器
    *Algs4-1.3.49栈与队列-(未解决)
    Algs4-1.3.4X栈与队列-两个栈实现一个队列均摊O(1)
    Algs4-1.3.47可连接的队列、栈或steque
    Java的垃圾回机机制(见过讲得最清楚的)
  • 原文地址:https://www.cnblogs.com/lydialee/p/4962631.html
Copyright © 2020-2023  润新知