zoukankan      html  css  js  c++  java
  • number(数字类型)

    数字类型包含:常规数字、NaN

    1、NaN

      NaN:not  a  number(不是一个数,但是它属于数字类型)

      NaN和任何值(包含自己)都不相等,NaN != NaN, 所以我们不能用相等的方式判断是否为有效数字

    2、isNaN

      isNaN:检测一个值是否为非有效数字,如果不是有效数字返回true,反之为有效数字返回false

      isNaN(10)  // false

      isNaN('aa')  // true

      isNaN('10')  // false

      在使用isNaN进行检测的时候,首先会验证检测的值时候为数字类型,如果不是,先基于Number()这个方法,把值转换成数字类型,然后再检测

    3、Number把其他类型值转换为数字类型

      (1)通过Number把字符串转为数字,只要字符串中包含任意一个非有效数字字符(第一个点除外)结果都是NaN;空字符串会转化为数字零

        Number("12.5")  // 12.5

        Number("12.5px")  // NaN

        Number("12.5.5")  // NaN

        Number("")  // 0

      (2)把布尔值转为数字

        Number(true)  // 1

        Number(false)  // 0

      (3)把null和undefined转为数字

        Number(null)  // 0

        Number(undefined)  //NaN

      (4)把引用类型数据转换为数字,是先把他基于toString方法转换为字符串,然后再转换为数字

        Number({name: '10'})  // NaN    

        {name: "10"}.toString()  //  "[object Object]"

        Number([ ])  // 0 

        Number([12, 23])  // NaN

         [ ].toString()  // ""

        [12, 23].toString()  // "12,23"

    4、parseInt和parseFloat把字符串转成数字

      也是转换为数字的方法,如果参数不是字符串,会先转成字符串,对于字符串来说,它是从左到右依次查找有效数字字符,直到遇到非有效数字字符,停止查找,把找到的当做数字返回

      parseInt("12.5px")  // 12

      parseFloat("12.5px")  // 12.5

      parseFloat(true)  // NaN

      

  • 相关阅读:
    Go语言学习资源
    优秀编程学习网站
    我对架构的理解
    【转】TCP协议中的三次握手和四次挥手(图解)
    【转】asp.net c# 网上搜集面试题目大全(附答案)
    spring framework 4 源码阅读
    浮点类型
    把二元查找树转变成排序的双向链表
    用模板写快速排序-链表
    用模板写快速排序-数组
  • 原文地址:https://www.cnblogs.com/cuishuangshuang/p/14635087.html
Copyright © 2011-2022 走看看