JavaScript中undefined和null的區別
JavaScript兩個表示”無”的值:undefined和null。我在平時只是null用的多一點,undefined只是在報錯中經常遇到。下面針對這兩個數據類型的異同做一下詳細的比較。
1.undefined和null在if語句中,都會被自動轉為false,相等運算符直接報告兩者相等。
!null==!undefined==true
2.null表示”沒有對象”,即該處不應該有值。典型用法是:
(1) 作為函數的參數,表示該函數的參數不是對象。
(2) 作為對象原型鏈的終點。
Object.getPrototypeOf(Object.prototype) // null
undefined表示”缺少值”,就是此處應該有一個值,但是還沒有定義。典型用法是:
(1)變量被聲明了,但沒有賦值時,就等于undefined。
(2) 調用函數時,應該提供的參數沒有提供,該參數等于undefined。
(3)對象沒有賦值的屬性,該屬性的值為undefined。
(4)函數沒有返回值時,默認返回undefined。
var i; i // undefined function f(x){console.log(x)} f() // undefined var o = new Object(); o.p // undefined var x = f(); x // undefined
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答