js 中null和undefined的區別和用法

js中,每次想知道一個對象是否爲空時,首先想到的判斷條件是"o==null",但轉念一想,感覺還不大安心,又加上“||o== undefined”,這樣終於

心滿意足了!這就側面表現出我對null和undefined認知的不足及不自信。而每次查了資料,看過之後又給忘了,所以這裏姑且做個筆記!

1.null表示一個對象不存在,即“沒有對象”;undefined表示基本類型或對象的值沒被定義,也就“缺少值”!所以要判斷一個值是否存在可以這樣:

objA.valueA === undefined

而要判斷一個對象是否爲空可以:

objA.valueA == null


2. null和undefined在js中其實沒多少區別,比如:

var a = null;
var b = undefined;
if (a == b) {
   alert("一般來說null和undefined在if語句中是相等的");
}
if (!a) {
   alert("null會轉爲false");
}
if (!undefined) {
  alert("undefined會轉爲false")
}<pre name="code" class="javascript">alert(typeof undefined);//undefined
alert(typeof null);//object



3.我們寫js時,可以設置一個值爲null,但不可設置一個值爲undefined,即

objA.valueA = undefined;//valueA已存在,再給它設置爲undefined肯定不合理嘛。
咱們回過頭再看這一句:

if (o == null || o == undefined) {

}
這一句就是說,如果對象o爲空或其值沒定義的話,就執行代碼塊中的內容,所以這樣判斷也是可以的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章