美文网首页
js中“==”与“===”的区别

js中“==”与“===”的区别

作者: 8a5e0731064f | 来源:发表于2019-10-25 16:56 被阅读0次

简介

  • “==”会先比较两边操作数的数据类型,如果两边操作数的数据类型不相同,会先尝试一次类型转换,然后再进行数值比较
  • “===”当两边操作数的类型不相同时,直接返回false

比较过程:
双等号==:

  1. 如果两个值类型相同,再进行三个等号(===)的比较
  2. 如果两个值类型不同,也有可能相等,需根据以下规则进行类型转换在比较:
  • 如果一个是null,一个是undefined,那么相等
  • 如果一个是字符串,一个是数值,把字符串转换成数值之后再进行比较

三等号===:

  1. 如果类型不同,就一定不相等
  2. 如果两个都是数值,并且是同一个值,那么相等;如果其中至少一个是NaN,那么不相等。(判断一个值是否是NaN,只能使用isNaN( ) 来判断)
  3. 如果两个都是字符串,每个位置的字符都一样,那么相等,否则不相等。
  4. 如果两个值都是true,或是false,那么相等
  5. 如果两个值都引用同一个对象或是函数,那么相等,否则不相等
  6. 如果两个值都是null,或是undefined,那么相等

类比

“==”类似于Java中的"==",当一边是基本类型另一边是包装类时,会自动执行装箱拆箱操作,也就类似于js中的类型转换,然后再进行数值对比

相关文章

  • js中== 与 ===区别

    ==:运算符称作相等,用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换===:用来检测两...

  • js中 for in 与 for of 区别

    for in是ES5标准,遍历key. (遍历对象返回key, 遍历数组项返回数组的index) for of是...

  • JS中“==”与“===”的区别,

    “==”判定较为轻松,只需值相等,可以进行类型转换;“===”判定严格,类型与值都必须相等; 特殊的 [字符串文字...

  • js中“==”与“===”的区别

    简介 “==”会先比较两边操作数的数据类型,如果两边操作数的数据类型不相同,会先尝试一次类型转换,然后再进行数值比...

  • js中==与===的区别

    大区别 ==代表相同; ===代表严格相同; 比较方式区别 双等号: 先检查两个操作数数据类型,如果相同, 则进行...

  • 单引号和双引号

    JS中 js中单引号和双引号的区别(html中属性规范是用双引号,js中字符串规定是用单引号)(js中单引号区别和...

  • js小知识1

    js的原始类型?null是对象吗,基本数据类型和引用类型的区别 js中类型转化的规则 ==与===区别,什么情况下...

  • 【转载】JS中==与===的区别

    == equality 等同,=== identity 恒等。==, 两边值类型不同的时候,要先进行类型转换,再比...

  • 03-第三章 函数、自定义属性、事件

    一、 变量与属性的区别 属性分节点属性 和js属性节点属性 :元素自带属性js属性:js中自定义的属性 当js属性...

  • null和undefiend区别?

    JS中Null与Undefined的区别 在JavaScript中存在这样两种原始类型:Null与Undefine...

网友评论

      本文标题:js中“==”与“===”的区别

      本文链接:https://www.haomeiwen.com/subject/whtevctx.html