Javascript中NaN、null和undefinded的區別
阿新 • • 發佈:2017-10-26
得出 ber 引用 blog log 數據類型 pre 定義 false
var a1; var a2 = true; var a3 = 1; var a4 = "Hello"; var a5 = new Object(); var a6 = null; var a7 = NaN; var a8 = undefined; alert(typeof a); //顯示"undefined" alert(typeof a1); //顯示"undefined" alert(typeof a2); //顯示"boolean" alert(typeof a3); //顯示"number" alert(typeof a4); //顯示"string" alert(typeof a5); //顯示"object" alert(typeof a6); //顯示"object" alert(typeof a7); //顯示"number" alert(typeof a8); //顯示"undefined"
Js中的數據類型有undefined,boolean,number,string,object等5種,前4種為原始類型,第5種為引用類型。
先看這個上面這個例子,未定義的值和定義未賦值的為undefined,null是一種特殊的object,NaN是一種特殊的number(Not a number)。
var a1; //a1的值為undefined var a2 = null; var a3 = NaN; alert(a1 == a2); //顯示"true" alert(a1 != a2); //顯示"false" alert(a1 == a3); //顯示"false" alert(a1 != a3); //顯示"true" alert(a2 == a3); //顯示"false" alert(a2 != a3); //顯示"true" alert(a3 == a3); //顯示"false" alert(a3 != a3); //顯示"true"
從上面的代碼可以得出結論:(1)undefined與null是相等;(2)NaN與任何值都不相等,與自己也不相等。
null是對象,表示一個空指針,undefinded是表示未定義的類型,它的類型本身就叫做”未定義類型“(和object類型的區別)
Javascript中NaN、null和undefinded的區別