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 代码片段

48个值得掌握的JavaScript代码片段(上)

用下面的代码解释一下javascript中var和let关键字的区别

我的javascript片段返回“非法字符”

精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!(转载)

代码片段使用复杂的 JavaScript 在 UIWebView 中插入 HTML?