• 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()

    未完待续

      

      

  • 相关阅读:
    zipfile模块——读取(查看)zip压缩文件
    line[:1]和split(',')
    csv文件——简单读操作01
    读取文件内容——读取一个二进制文件,然后保存到另外一个文件
    zipfile模块——从zip文件中 解压缩
    读写操作文件——open()函数与读写文件01
    文件的操作
    csv文件——简单读操作01
    读写操作文件——open()函数与读写文件02
    读取文件内容——open函数
  • 原文地址:https://www.cnblogs.com/jellychow/p/3148881.html
Copyright © 2020-2023  润新知