number类型
在JavaScript中不区分整数值和浮点数值(在Java中也称为双精度数值)。还有一种特殊的数值即NaN(Not a Number),下面进行详细的讲解:
浮点数值:
浮点数值就是该数值中包含一个小数点,并且小数点后面必须至少有一个数字。如下定义了两个浮点数值的变量。
var floatN1 = 0.4;
var floatN2 = 3.4;
在保存浮点数值时需要的内存空间是整数值的两倍,因此JavaScript在一些情况下会将 浮点数值转换为整数值。如下列情况:
- 小数点后面没有跟任何的数字;
- 本身表示的就是一个整数(像3.0)。
示例:
var floatN1 = 3.; //小数点后面没有数字,解析为3
var floatN2 = 3.0; //本身表示整数,解析为3
NaN:
NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它自己本身。我们可以用函数isNaN(number)检测NaN。
number参数可以是任意类型,而函数会帮我们确定这个参数是否“不是数值”。这个函数在接收一个值之后,会尝试将这个值转换为数值。而任何不能被转换为数值的值都会导致这个函数返回true。
示例:
alert(isNaN(NaN)); //true
alert(isNaN(3)); //false(3是一个数值)
alert(isNaN("3")); //false(可以被转换成数值3)
alert(isNaN(true)); //false(被转换成数值1)
alert(isNaN("bool")); //true(不能被转换成数值)