首页  >  问答  >  正文

在javascript中==和===的区别

如题,能举例说明更好

阿神阿神2872 天前823

全部回复(2)我来回复

  • 汪汪

    汪汪2016-11-09 16:38:00

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

    举例说明:

    "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;

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

    回复
    0
  • 学习ing

    学习ing2016-11-09 16:37:43

    = 给变量赋值 如 a=2
    == 判断是否相等 如 if (a==b),此时如果a和b类型不一样,会做内部转换

    === 同==,只是用于不需做类型转换时

    回复
    0
  • 取消回复