这篇文章主要介绍了JavaScript中平等(==)怎么用,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
神奇之处在哪里
最近负责的项目有涉及到前端的,所以尝试性的写了写js。在处理一个字段非空值的时候,用了tagert_value=https://www.yisu.com/zixun/=崩唇信卸?然后发生了一件非常奇怪的事情,有用户反馈,自己的target_value=0的时候,非空值校验不通过。在调试问题的时候,在控制台状态栏中做了如下尝试:
在0==& # 39;& # 39; & lt;真正的
我似乎知道问题出在哪里了……没有了解清楚==的判断逻辑,所以我打算找来官方的文档瞅瞅。
官方解释
平等(==?=)
1,如果两个表达式的类型是不同的,试图将它们转换为字符串,数字,或布尔。
2,南不等于任何东西,包括自己。
3 - 0等于正0。
4,零等于零和定义。
5,值 被认为是平等的,如果他们是相同的字符串,数值吗 等效数字、同一个对象相同的布尔值,或(如果 不同类型)他们可以强迫>比;数量(& # 39;& # 39;) & lt;0 比;var b=& # 39; & # 39; 比;b.toString () & lt; & # 39; 0 & # 39;
非常明显了,int==字符串的时候是先将字符串装换为对应的int值,然后进行比较。
如何避免嘞?
下面强烈介绍===(严格平等)。严格等于,看着是不是非常厉害呀。人家的官方叫法是<强> >强身份(===?==).Identity有点类型悬疑破案的感觉了。
看一下官方的介绍:
身份(===?==)
这些操作符的行为完全相同的
平等运营商除了没有类型转换完成,必须类型
是相同的被认为是相等的。
在日常开发中,如果没法保证比较表达式两遍的变量的类型一致,建议使用识别(===)来比较是否相等。如果变量类型一致,就可以直接使用平等(==)来比较了。
感谢你能够认真阅读完这篇文章,希望小编分享JavaScript中平等(==)怎么用内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!