JavaScript中==与===的区别
Posted Soco
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中==与===的区别相关的知识,希望对你有一定的参考价值。
== 与 ===的区别
===
叫做严格运算符 ,==
叫做相等运算符.
严格运算符===
规则:
基本类型
- 第一步:比较类型.判断前后顺序的的类型值,如果俩个值的类型不同,则该表达式的直接返回False.
- 第二步:比较值.类型值相同(
Number
,String
,Boolean
)时,判断值相同时返回True,否则返回False. - undefined和null与自身严格相等.
复杂类型
复杂类型(
对象
,数组
,函数
)进行严格模式比较时,比较它们的指针是否指向同一个对象,而不是比较它们的值是否相同.
相等运算符==
规则:
- 基本类型,转换类型
String
,Boolean
都先转化为Number
类型,然后判断值相同时返回True,否则返回False. - 复杂类型(
对象
,数组
,函数
),先转化为基本类型,然后再进行比较. - undefined和null之间相等.而且不等于任何基本类型.
- null == undefined
以上是关于JavaScript中==与===的区别的主要内容,如果未能解决你的问题,请参考以下文章
用下面的代码解释一下javascript中var和let关键字的区别