美文网首页
JavaScript函数isNaN与数值提取

JavaScript函数isNaN与数值提取

作者: 报告老师 | 来源:发表于2017-08-26 21:25 被阅读45次

    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与数值提取

          本文链接:https://www.haomeiwen.com/subject/jlpvdxtx.html