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

如题,能举例说明更好... 如题,能举例说明更好 展开
 我来答
XCExceXCExce
推荐于2017-09-12 · TA获得超过647个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:335万
展开全部
==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回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;

简而言之就是 "==" 只要求值相等; "===" 要求值和类型都相等
小辞396
2019-05-21 · TA获得超过153个赞
知道答主
回答量:20
采纳率:0%
帮助的人:1.4万
展开全部

简单来说,==在比较的时候,会发生数据类型转换,而===不会发生类型转换,也就是说,对于===的话,会先判断是否是同一个类型,如果不是的话,直接返回false,而==的话呢,如果不是同一个类型,则会先根据一些规则,把他们转换成同种类型的,然后再进行比较。

对于==的话,究竟都是根据哪些规则来转换的呢?

  1. 如果相比较的两个操作数,其中一个是数字类型,另一个是字符串类型的话,那么字符串将会转换为数字,再进行比较

    也就是说

    "1111" == 1111   等价于    Number("1111") == 1111

  2. 如果操作数中,有布尔类型的,那么他将会转为数字类型

    也就是说, true == 12    等价于   Number(true) == 12,所以结果为false

  3. 如果比较的两个操作数,一个是undefined另一种是null,则返回true

    undefined == null    的值为true

  4. 对于两个操作数,如果其中一个是字符串或数字,另一个是对象的话,那么对象会转为原始值,然后再进行比较

    那么对象怎么转换呢?

    通常来说,再转换的时候,会先判断对象中是否有valueOf()函数,有的话,就执行这个,获取到原始值,如果通过valueOf()函数获取不到原始值,或者这个函数不存在的话,就调用toString()函数。

    看下面这个例子

    var obj = {
    valueOf() {
    return 3;
    }
    }
    console.log(obj == 3);  // true

如果想了解更多关于==之间类型转换之间的小知识,可以参考小文章来获取更多内容:Javascript基础之-强制类型转换(三)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
googleyeyou
2010-10-19 · TA获得超过186个赞
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:130万
展开全部
= 给变量赋值 如 a=2
== 判断是否相等 如 if (a==b),此时如果a和b类型不一样,会做内部转换

=== 同==,只是用于不需做类型转换时
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2018-05-19
知道答主
回答量:13
采纳率:0%
帮助的人:9826
展开全部
js的===相当于Python的is,==相当于Python的==,字串符数字和普通数字相比如果数值相等"5"==5为true,"5"===5为false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朋友火箭9K
2010-10-19 · TA获得超过2823个赞
知道大有可为答主
回答量:4676
采纳率:0%
帮助的人:3484万
展开全部
弱类型语言都有的运算符

你看手册就知道了

===就是要求类型相等,大家必须都是整型、字符串、对象.......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式