一看就懂的javascript全即是与即是

Javascript只要六个假值(用在前提if的推断)

《一看就懂的javascript全即是与即是》

全即是

范例差别,返回false
范例雷同,则

《一看就懂的javascript全即是与即是》

即是

范例雷同:同上===

范例差别:尝试范例转换==【不是真值和假值的比较】

null == undefined
number == string(stirng转number)
boolean == ? (均转换为number)
object == number | string (将对象转换为基础范例)
其他:false

false只要和false,0,’ ‘,[ ]比较为真

《一看就懂的javascript全即是与即是》

0只要和0,false,‘ ’,另有[ ]比较为真值

《一看就懂的javascript全即是与即是》

‘ ‘ 只要和0 , ‘ ’ ,false ,[]比较为真

《一看就懂的javascript全即是与即是》

[]和0,‘’,false比较为真值,与[]不是!!

《一看就懂的javascript全即是与即是》

null 与undefined

《一看就懂的javascript全即是与即是》

总结:

本身画的比较丑

《一看就懂的javascript全即是与即是》

《一看就懂的javascript全即是与即是》

一、首先看双等号前后有无NaN,假如存在NaN,一概返回false。

《一看就懂的javascript全即是与即是》

二、再看双等号前后有无布尔,有布尔就将布尔转换为数字。(false是0,true是1)
三、接着看双等号前后有无字符串, 有三种状况:
1、对方是对象,对象运用toString()或许valueOf()举行转换;
2、对方是数字,字符串转数字;(前面已举例)
3、对方是字符串,直接比较;
4、其他返回false
四、假如是数字,对方是对象,对象取valueOf()或许toString()举行比较, 其他一概返回false
五、null, undefined不会举行范例转换, 但它们俩相称

    原文作者:时间冒泡
    原文地址: https://segmentfault.com/a/1190000008851027
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞