NaN:即非数值(Not a Number)是一个特殊的数值
- 任何涉及NaN的操作(例如NaN/10)都会返回NaN.
- NaN与任何值都不相等,包括NaN本身
- NaN是Number的一个特殊的类型
isNaN()
- 语法:isNaN(N)
- 功能:检测n是否是“非数值”
- 返回值: boolean
- 参数 :参数n可以是任何类型
var name="marry"; var age=18; var id="16"; var email="marry@sina.com.cn"; console.log(isNaN(age)); console.log(isNaN(id)); console.log(isNaN(name));
说明:isNaN() 对接收的数值,先尝试转换为数值,在检测是否为非数值
数值转换
- Number()
var name="marry"; var age=18; var id="16"; var email="marry@sina.com.cn"; console.log(Number(id)); console.log(Number(name));
说明
- Number()可以用于任何数据类型
- parseInt()和parseFloat()则用于专门把字符串转换为数值
- parseInt()
说明:parseInt()提取必须以数字开头 装换空字符串放回NaN 提供第二个参数(多少进制)
var topValue="28px";
var c="abc58"
console.log(parseInt(topValue));
console.log(parseInt(c));
- parseFloat()
从第一个字符开始解析每个字符,直到遇见一个无效的浮点数字为止
说明:除了第一个小数点有效外,parseFloat和parseInt的第二个区别在于它始终都会忽略前导的零(第一个小数点有效)
var topValue="12.34px"; var c="12.3.46"; var e="0123"; console.log(parseFloat(topValue)); console.log(parseFloat(c)); console.log(parseInt(e)); console.log(parseInt(e));
toString()与String()
- 语法:str.toString()
- 功能:将str转换为字符串
- 返回值:str是一个副本
- 参数:str是要转换的内容,可以是数值、布尔值、对象和字符串。
- 说明:在不知道要转换的值是不是null或undefined的情况下,还可以使用String()函数,它能够将任何类型的值转换为字符串。
Boolean类型转换
- 除0之外的所有数字,转换为布尔型都为true
- 除 “ ”之外的所有字符,转换为布尔型都为true
- null和undefined转换布尔型都是false
var x=1; var y=0; var c="hello word"; var d=""; var e; console.log(Boolean(x)); console.log(Boolean(y)); console.log(Boolean(c)); console.log(Boolean(d)); console.log(Boolean(e));