zoukankan      html  css  js  c++  java
  • == 和 != 规范

      比较数值、字符串、布尔值使用的都是量值。当且仅当两个变量存放的值相等的时候,他们才相等。 

      比较对象、数组、函数的时候,使用的是引用,只有2个变量引用的是同一个对象时,他们才是相等的 。

          两个不同的数组是完全不同的,即使他们具有完全相同的元素。对于存放对象、数组、函数的引用的变量来 

      说,只有当他们引用的是同一个对象、数组、函数的时候,他们才相等。 

      注意!应遵循的原则: 

      当两个运算数的类型不同时:将他们转换成相同的类型, 

      1)一个数字与一个字符串,字符串转换成数字之后,进行比较。 

      2)true转换为1、false转换为0,进行比较。 

      3)一个对象、数组、函数 与 一个数字或字符串,对象、数组、函数转换为原始类型的值,然后进行比较。(先使用valueOf,如果不行就使用toString) 

      4)其他类型的组合不相等。 

      想两个运算数类型相同,或转换成相同类型后: 

      1)2个字符串:同一位置上的字符相等,2个字符串就相同。 

      2)2个数字:2个数字相同,就相同。如果一个是NaN,或两个都是NaN,则不相同。 

      3)2个都是true,或者2个都是false,则想同。 

      4)2个引用的是同一个对象、函数、数组,则他们相等,如果引用的不是同一个对象、函数、数组,则不相同,即使这2个对象、函数、数组可以转换成完全相等的原始值。 

      5)2个null,或者2个都是未定义的,那么他们相等。 

    == 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。

    而 
    === 和 !== 只有在相同类型下,才会比较其值。
     
    “false” != false   ------- √ 
  • 相关阅读:
    【尺取法】Jessica's Reading Problem
    【状态压缩】关灯问题2
    【AC自动机】多模匹配算法
    【蔡勒公式 】根据给定的年月日求出对应星期几
    【线段树】结训赛— H
    【快速幂 && 素数筛 && 数论】Carmichael Numbers
    【线段树】浅析--线段树
    【KMP】数据结构实验之串三:KMP应用
    【线段树】3771->数组计算机
    【字典树】2828 -> 字典树
  • 原文地址:https://www.cnblogs.com/ximiximi-blog/p/6656249.html
Copyright © 2011-2022 走看看