zoukankan      html  css  js  c++  java
  • 相等运算符==与等同运算符===

    相等运算符==与等同运算符===,都可以用于判断数据是否相等,返回boolean类型的数据;==运算符做比较时,要求类型不一定相同,值通过数据类型转换之后相等即可。===运算符做比较时,要求类型必须相同,而且值也必须相同。

    ===运算符的条件:

    1、如果运算数类型不相同,那么不等同;

    2、如果运算数类型都是number,那么比较两个数值(任意一个为NaN,那么也不等同)是否等同;

    3、如果运算数类型都是boolean,那么两个运算数都为true或false时就等同;

    4、如果运算数类型都是对象类型时,那么两个运算数必须引用到同一个对象时才等同,即使引用的两个对象的属性完全相同,也不能判定为等同;

    5、运算数null只能null等同;

    6、运算数undefined只能与undefined等同;

    ==运算符的条件:

    1、如果运算数类型相同,那么按===运算符进行比较;

    2、如果一个运算数是number,另一个是boolean类型,那么把boolean转换成0或1,再判断number是否相等;

    3、如果一个运算数是NaN,那么结果一定不相等;

    4、null、undefined、""、0、false相等;

    5、1、true相等;

    6、非空字符串、true相等;

    7、如果一个运算数是number,另一个是string类型,那么先把string转换为number,再做number之间的判断;

    8、如查一个运算数是对象,另一个是number或string类型,那么把对象转换为基本类型,再做比较。对象转换为基本类型时,一般先调用对象的valueOf方法,以返回一个基本类型的数据。如果valueOf方法没能返回一个基本类型的数据,那么再调用toString方法,返回一个字符串,再判断相等。但与众不同的是Date对象,它是先调用toString方法返回字符串,再判断相等。

    进行相等性转换的规则是运算数都尽量向number类型转换;

    "1" == true;
    

    这个表达式的执行过程是,先把字符串"1"转换为数值1,再把boolean值true转换为数值1,再判断相等性。

  • 相关阅读:
    Django 想要单独执行文件
    Django基础
    Bootstrap框架
    Font Awesome矢量图标框架
    js函数式编程——蹦床函数
    ie被hao.360劫持的解决方法
    函数式编程——惰性链
    你可能不知道的BFC在实际中的应用
    高度随宽度适应的响应式方案
    腾讯云播放器更新——TCplayer
  • 原文地址:https://www.cnblogs.com/wangg-mail/p/4354767.html
Copyright © 2011-2022 走看看