JavaScript函数isNaN与数值提取

NaN类型(not a number),意思是非数值。但是它属于number 类,typeof出来的类型是number

官方的说明是检测一个变量是否为“非数值”但是个人认为应该是“检测一个变量是否为数值”。使用函数isNaN,这个函数的返回结果是布尔类型。

例子1

var name ="萧智豪";

console.log(isNaN(name));

返回结果:true

上述例子说明,string类型也属于NaN

例子2

var age="23";

console.log(isNaN(age));

返回结果为false

例2说明,尽管加了双引号,只要是引号内是纯数字,函数isNaN就会自动将此变量转换成数值输出。转换仅每次输出有效,并没有实际转换成数值。使用typeof检测数值类型输出仍然为string。



数值提取

官方提供三种函数:Number,parseInt,parseFloat

使用语法:

例3

var age ="23";

age=Number(age);

console.log(age);

返回结果:16

成功转换

例4

var name="萧智豪";

console.log(Number(name));

返回结果:NaN

例4说明,强转换没有数值的字符串返回的值是一个NaN。


parseInt

parseInt用于提取字符串中的整型。

例5

var paddingVal="20px";

paddingVal=parseInt(paddingVal);

console.log(paddingVal);

返回结果:20

成功提取

例5

var marginVal="a20px";

marginVal=parseInt(marginVal);

console.log(marginVal);

返回结果:NaN

例5说明使用parseInt提取数据时若不是以数值开头的字符串,则转成NaN


parserFloat与parseInt类似,提取时从整数开始直至到第一个浮点的结束为止。

例6

var leftVal="12.784.23131px";

leftVal =parseFloat(leftVal);

console.log(leftVal);

返回结果:12.784



说明:NaN与任何内容都不相等,包括自己


讲完。

你可能感兴趣的:(JavaScript函数isNaN与数值提取)