if(XX) , == , ===

2019-02-19  本文已影响0人  落落sere

== 和 === :

    NaN == NaN //得到 false
    NaN === NaN //得到false
    isNaN(NaN) //得到true
  1. 然后===也比較简单:
    • 等号两边类型和值都相等才返回true
    1 === 1 //得到 true
     1 === ‘1’//得到false
    
      1 == '1' //得到true
      假设一个值为true,将它转化为1,再进行比較。
      假设一个值为false,把它转化为0,再进行比較。
      true == 1 //得到true
      0 == false// 得到true
var  b = {test:'test'};
a.valueOf = function(){return 1};
b.valueOf = function(){return 1};
a == b // 返回false
1 == a //返回true
 undefined == undefined //得到true
 null == null //得到true
 undefined == null //得到true

if(xxx) :

if(xxx)事实上非常easy,它始终会把xxx的值转换成Boolean(即true或者false); 0,'0',[],null,undefined,NaN转换成Boolean类型都为false。

附:这里说一个非常实用的技巧。在变量前面加两个!! 取反符号。能够把变量强制转换成Boolean类型,这样一来,!!NaN === !!null也得到true,奇妙吧
上一篇下一篇

猜你喜欢

热点阅读