1. 程式人生 > >Javascript中NaN、null和undefinded的區別

Javascript中NaN、null和undefinded的區別

得出 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的區別