生活中我們在不停的編寫代碼,寫著JavaScript,很少有時間進行概念上的研究。我呢,今天閒來沒啥事,研究了一下有關“null”和“0”的關系。希望大家看完了能有所收獲。
復制代碼 代碼如下:
alert(null>=0)
復制代碼 代碼如下:
上面的代碼會彈出什麼來呢?False?True?其實是true。那麼是為什麼呢?為什麼"null>=0"為true呢?null>=0的時候,強轉為數字類型。在進行null>=0比較時,它是通過比較null<0得到的答案,如果a=b 為false,如果a=b 為true,即0<0為false,也就是null<0為false,那麼null>0為true。所以 null>=0為true。
復制代碼 代碼如下:
alert(null==0)
上面的代碼會彈出什麼來呢?False?True?其實是false。"null==0"的時候是特殊處理,不會轉為數字類型,不會轉化為數值,但如果左面是字符串右面是數值就會被轉化。“null”是對象(空對象, 沒有任何屬性和方法)。而“0”是數字。前面說過“==”並不轉換類型,只是比較。所以,為false。
為什麼"null==0"為false,但是"null>=0"為true?這個小問題就分析到這裡了。在分析的過程中我也學習到了很多東西,我想大家再看的時候也有一定的收獲吧。以上全是個人觀點,若有啥理解不到位的,歡迎提出來,大家一起學習哈。