Null類型是第二個只有一個值的資料類型,這個特殊的值是null,從邏輯角度來看,null值表示一個空物件指針,而這也正是使用typeof運算子來偵測null值會回傳“object”的原因。
如下面的例子所示:
var car =null; alert(typeof null); //object(其实这是JavaScript最初实现的一个错误,后来被ECMAScript沿用下来)
如果定義的變數準備在將來使用者保存對象,那麼最好將該變數初始化為null而不是其他值。這樣一來,只要直接檢查null值就可以知道對應的變數是否已經保存了一個物件的參考.
如下面的例子:
if(car != null){ //对car执行某些操作 }
實際上,undefined值是派生自null值的,因此ECMA-262規定對他們的相等測試要返回true:
alert(null == undefined) //true
這裡,位於null和undefined之間的相等操作符(==)總是返回true,不過要注意的是,這個運算子會因為比較的目的而轉換其運算元。
儘管null和undefined有這樣的關係,但它們的用途完全不同,如前所述,無論什麼情況下都沒有必要把一個變數的值明確地設定為undefined,可視同樣的規則對null卻不適用。換句話說,只要意圖保存對象的變數還沒有真正保存對象,就應該明確地讓該變數保存null值。這樣做不僅可以體現null作為空物件指標的慣例,也有助於進一步區分null和undefined。
Undefined 和 Null
Undefined 這個值表示變數不含值。
可以透過將變數的值設為 null 來清空變數。
在程式中如何判斷變數是否為null。
var exp = null; if (!exp && typeof exp != "undefined" && exp != 0) { alert("is null"); }
typeof exp != "undefined" 排除了 undefined;
exp != 0 排除了數字零和 false。
更簡單的正確的方法:
var exp = null; if (exp === null) { alert("is null"); }
以上是js null是什麼型的詳細內容。更多資訊請關注PHP中文網其他相關文章!