Number数据类型
Number类型使用IEEE754格式来表示整数和浮点值,这也是0.2 + 0.3
不等于0.5
的原因,
最基本的数值类型字面量格式是十进制整数
var a = 10;
1. 浮点数值
2. NaN
Not a Number
:不是一个数,但它属于数值类型
NaN的特点
- NaN和任何值进行操作都会返回NaN
- NaN与任何值都不相等,包括NaN本身
console.log(NaN == NaN)
3. isNaM函数
用于检测一个变量不是数值(Number
)类型。isNaN()
接收一个参数,这个参数可以是任何类型,这个函数会尝试把传入的参数转换为数值,某些不是数值的值会直接转换成数值,例如字符串"10"
或Boolean
值,不能转换为数值的值返回true
,能转换的返回false
console.log( isNaN(NaN ) // true
console.log( isNaN(10 ) // false
console.log( isNaN('10') // false
console.log( isNaN('blue') // true
console.log(isNaN( true )) // false (true会被转换成1)
总结:
isNaN
意思是:是不是非数值
,是的话返回true
,所有能被该函数转换能Number
类型的值,都返回false
- 在使用isNaN进行检测的时候,首先会验证检测的值是否为数字类型,如果不是,先基于Number()这个方法,把值转换成数字类型,然后再检测
- 空字符串、空数组、布尔值、
null
会转成数值,所以isNaN
函数返回false
- 空对象、函数、
undefined
不能转换成数值,返回true
4. 数值转换
把非数值值转换为数值:
- Number()
- parseInt() 取整
- parseFloat()
Number()转换规则:
- 如果是布尔值,
true
和false
会被转换为1
和0
Number(true) // 1
Number(false) // 0
- 如果是数字,只是简单的传入和返回
Number(1) // 1
Number(100) // 100
- 如果是null值,返回0
Number(null) // 0
- 如果是undefined,返回NaN
Number(undefined) // NaN
- 如果是字符串:
- 字符串中只包含数字(包括政府)
原文地址:https://www.cnblogs.com/dobeco/p/11619100.html
时间: 2024-10-09 00:01:37