JS中“==“和“===“的区别

一、共同点:
他们都是 逻辑运算符,返回布尔值。
二、区别:
定义如下变量:
var a = 5 , b="5", c="3",d=5,e=3;
******************************************************************************
"=="会把左右两边的值进行转化为相同类型后再比较,只有满足按左右任意一方类型转换后的值相等即返回true,否则返回false。
如:
a==b; 
把字符串b转换为整型数字5,a和b均为整型数,且值相等,返回 true
a==c; 
把字符串c转换为整型数3发现二者值不相等,把a转换为字符串"5",依然不相等,返回 false
******************************************************************************
"==="会先判断左右两边的类型,类型不同直接返回false,类型相同再进行值的比较,值相等返回true,否则返回false
如:
a===b;
a是整型数字,b是字符串,类型不同,返回 false
a===e;
a和e类型相同,值不等,返回 false
a===d;
a和d类型相同且值相等,返回 true
三、使用
由于"=="需要把左右两边转化为相同类型后再比较值,而"==="没有值转换的过程,所以相对来说"==="的效率要比"=="高,所以建议在编写程序时若明确的知道左右两边的类型是相同的则优先使用"==="。
姑且把"=="叫做 “模糊等于”,把"==="叫做“ 精确等于”
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值