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

    未完待续

      

      

  • 相关阅读:
    首先,编写一个类ChongZai,该类中有3个重载的方法void print();其次, 再编写一个主类来测试ChongZai类的功能。
    创建一个Point类,有成员变量x,y,方法getX(),setX(),还有一个构造方 法初始化x和y。创建类主类A来测试它。
    机动车
    people 0919
    创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它。
    百鸡百钱修改
    java 面向对象--------时间作业
    序列化、反序列化
    通讯录
    Java正则表达式
  • 原文地址:https://www.cnblogs.com/jellychow/p/3148881.html
Copyright © 2020-2023  润新知