javascript 中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型
1.各种数据类型分析
var obj1;
var obj 2 = true;
var obj 3 = 1;
var obj 4 = "Hello";
var obj 5 = new Object();
var obj 6 = null;
var obj 7 = NaN;
var obj 8 = undefined;
alert(typeof obj ); //显示"undefined"
alert(typeof obj 1); //显示"undefined"
alert(typeof obj 2); //显示"boolean"
alert(typeof obj 3); //显示"number"
alert(typeof obj 4); //显示"string"
alert(typeof obj 5); //显示"object"
alert(typeof obj 6); //显示"object"
alert(typeof obj 7); //显示"number"
alert(typeof obj 8); //显示"undefined"
从上面的代码中可以看出未定义的值和定义未赋值的为undefined,null是一种特殊的object,NaN是一种特殊的number。
2.各种数据类型之间的比较运算
var obj 1; //a1的值为undefined
var obj 2 = null;
var obj 3 = NaN;
alert( obj 1 == obj 2); //显示"true"
alert( obj 1 != obj 2); //显示"false"
alert( obj 1 == obj 3); //显示"false"
alert( obj 1 != obj 3); //显示"true"
alert( obj 2 == obj 3); //显示"false"
alert( obj 2 != obj 3); //显示"true"
alert( obj 3 == obj 3); //显示"false"
alert( obj 3 != obj 3); //显示"true"
从上面的代码可以得出结论:(1)undefined与null是相等;(2)NaN与任何值都不相等,与自己也不相等。
NaN 属性用于引用特殊的非数字值
可以使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。