zoukankan      html  css  js  c++  java
  • == 与===

    ==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase。

    举例说明:

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

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

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

    3.如果比较: 1 === 2 左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false。
    因为在 ES 5 中,以上代码实际上是这样的过程:

    true == "1";
    ==>toNumber(true) == "1";
    ==>1 == "1";
    ==>1 == toNumber("1");
    ==>1 == 1;
    ==> true

    true == "true"
    ==>toNumber(true) == "true";
    ==>1 == toNumber("true");
    ==>1 == NaN;
    ==>false

  • 相关阅读:
    P4936 题解
    初赛
    洛谷P2763题解
    探秘最小生成树&&洛谷P2126题解
    洛谷P2630 题解
    洛谷P2125 题解
    洛谷P1510 题解
    洛谷P3572题解
    Codeforces 448C Painting Fence(分治法)
    Codeforces 999F Cards and Joy(二维DP)
  • 原文地址:https://www.cnblogs.com/Hattie-/p/12527436.html
Copyright © 2011-2022 走看看