对js中null、undefined、NaN等值和数据类型的理解

javascript中的数据类型共有null、undefined、number、string、boolean、object六种。其中前五种是基本数据类型,

object为引用类型包括array、function等。

首先测试各种值的类型

var a1; 
var a2 = true; 
var a3 = 0; 
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" 

由上可见未定义的变量类型为undefined,NaN的类型为number,null的类型为object。我们再进行比较运算测试,

var a1;
var a2 = null; 
var a3 = NaN;
var a4 = true;
var a5 = "true";
var a6 = 0;
var a7 = undefined;

alert(a1 == a2); //显示"true" 
alert(a1 == a3); //显示"false" 
alert(a2 == a3); //显示"false" 
alert(a3 == a3); //显示"false" 
alert(a2 === a3);//显示“false”
alert(a4 == a5);//显示"false"
alert(a2 == a6);//显示"false"
alert(a1 == a7);//显示"true"
alert(a2 == a7);//显示"true"

可以看到null和undefined等值但不全等,null和0不等值,true和“true”也不等值,NaN与任何值包括自己都不相等。

posted @ 2016-05-31 14:39  一个大木头  阅读(243)  评论(0编辑  收藏  举报