理解js中的:Null、undefined、""、0、false

一、undefined、null、""、0、false這五個值在if語句中作判斷,都會執行false分支測試

二、    undefined和null比較特殊, 
    雖然null的類型是object,可是null不具備任何對象的特性, 
    就是說咱們並不能執行null.toString()、null.constructor等對象實例的默認調用。 
    因此從這個意義上來講,null和undefined有最大的類似性。 
    ★★看看null == undefined的結果(true)也就更加能說明這點。 
    不過類似歸類似,仍是有區別的, 
    就是和數字運算時,10 + null結果爲:10;10 + undefined結果爲:NaN。 
3.""、0和false雖然在if語句表現爲"假值",可它們都是有意義數據,只是被做爲了"空值"或"假值"spa

4.當嘗試讀取不存在的對象屬性時也會返回 undefined。 
提示:只能用 === 運算來測試某個值是不是未定義的,由於 == 運算符認爲 undefined 值等價於 null。 
註釋:null 表示無值,而 undefined 表示一個未聲明的變量,或已聲明但沒有賦值的變量,或一個並不存在的對象屬性。對象


null == undefined 
可是: 
null !== undefined 
那麼這二者到底有啥區別呢? 
null 
這是一個對象,可是爲空。由於是對象,因此 typeof null 返回 'object' 。 
null 是 JavaScript 保留關鍵字。 
null 參與數值運算時其值會自動轉換爲 0 ,所以,下列表達式計算後會獲得正確的數值: 
表達式:123 + null結果值:123 
表達式:123 * null結果值:0 
ip

相關文章
相關標籤/搜索