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 与所有值都不相等,包括它自己。