zoukankan      html  css  js  c++  java
  • js 的数据类型转换

    一直对js的类型转换一直半解,今天理一下思路,首先说一下几个特殊的数值

    null

      null是特殊的object,故 typeof null 返回object,

      null派生于undefined ,故 null == undefined

    NaN

      NaN是特殊的Number, NaN与任何值(包括自己)进行比较都返回false

    Boolean

      只有两值,false和true

    ----------------------------------------------------------------------------------------- 

    接下来,来说一下进入正题:

    toString():除了null和undefined,其它值都有此方法,这也是toString()与String()的区别,而且此方法可以传一个基数

      而对于非数值,toString设置参数是无效的,var a = "1234"; a.toString()  返回的是1234而非1234的二进制表示

    String():如果传入的参数可以使用toString(),则返回的结果与toString()无基数的情况一致

      String(null)返回null   String(undefined)返回undefined

      String(true/false)返回true/false

    ------------------------------------------------------------------------------------------------------------

    parseInt()/pasefloat():用于把String类型转换成Number类弄,对于基它类型调用此方法都会返回NaN

      机制:从每一个非空格开始直到找到一个非有效字符(空格,字母,对于parseInt来说小数点是是非有效的,而对于parseFloat第二个小数点才是无效的),然后把找到的结果再转换成Number

      即:parseInt(null/undefined/true/false/NaN)都返回NaN,而Number类弄直接返回原值  

        parseInt(空格/空字符串) // NaN  因为找不到有效字符,返回null

        parseInt(空格123) // 123    parseInt(空格123空格) // 123    

    Number():用于把整个值,而不是部分值转换成数值,如果转换失败则返回NaN(空格与空字符串是可以转换的)

      Number(null) //0

      Number(true) //1    Number(false) //0

      Number(NaN/undefined) //NaN

      Number(空格/空字符串) // 0

      Number('123.123.3') // NaN 123.123.3 不能转换成数值

    ---------------------------------------------------------------------------------------------------------------------------

    Bollean():返回true/false

      Bollean(null/undefined/0/空字符串) //false

    ===========================================================================

    对于object类的toString()/valueOf()

    未完待续

      

      

  • 相关阅读:
    ArrayList、Vector、LinkedList的区别联系?
    TFFS格式化到创建成功过程
    C语言中的far关键字
    Android编码规范05
    微信小程序开发总结
    1-2 Mobx 入门实践之TodoList(官方Demo)
    1-1、create-react-app 配置 mobx
    3-0 js基础 语言特性及性能优化
    2-9 js基础 cookie封装
    2-8 js基础 jsonp封装
  • 原文地址:https://www.cnblogs.com/jellychow/p/3148881.html
Copyright © 2011-2022 走看看