• javascript中===与==


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

    类型转换规则:
    Boolean>number:false>0,true>1;
    number+string/object>number;
    string+object>string; (toString)

    特殊的比较:
    null 和 undefined 是相等的。
    null 和 undefined 不会转换为任何其他类型.
    如果任何一个操作的结果为 NaN,那么相等比较返回 false,不相等比较返回 true。
    注意,即使两个操作数都为 NaN,返回结果一样是 false,也就是说,NaN 不等于 NaN。
    如果两个操作数都是对象,那么比较它们引用的值,如果引用同一个对象,那么,返回真,否则,返回假。

    null,undefined的区别:和数字运算时,10 + null结果为:10; 10 + undefined结果为:NaN;

    注意:false,0,"",null,undefined在if语句中做判断,都会执行false分支,而"0"," "则是执行true分支。
    !逻辑非,也会按上面的规则取值后,再取反

     1 alert(true == 2); //false
     2 
     3 var a = {};alert(a == "[object Object]");//true
     4 
     5 alert("0" == false); //true
     6 alert(!"0" == false ); //true
     7 
     8 alert(Number("	") ); //0
     9 alert(parseInt("	") ); //NaN
    10 alert("	" == false); //true,说明"	"通过Number()函数转换成数值
    11 
    12 alert(!"	" == false); //true
    13 
    14 alert("" == 0);//true
    15 alert("0" == 0); //true
    16 alert("0" != "");//true
    17 alert("	" != "0");//true
    18 
    19 alert(null == undefined);//true
    20 alert((10 + null)==(10 + undefined));//false
  • 相关阅读:
    day54——Python 处理图片
    day53——Python 处理 Excel 数据
    day52——Python 处理附件
    day51——爬虫(一)
    大数据治理体系简谈
    redis环境的安装
    微服务体系操作日志如何记录?
    mysql数据库设计规范
    win系统下git代码批量克隆,批量更新
    java实现二维码登录功能
  • 原文地址:https://www.cnblogs.com/guodefu909/p/3262828.html
Copyright © 2020-2023  润新知