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

    未完待续

      

      

  • 相关阅读:
    [vue Debugger] sourcemap
    [vuex]持久化存储
    [vuex]字典值封装到vuex缓存
    [vue]常用指令集合
    VSCode插件集合
    [element-ui] 表格点击出现编辑效果实现
    [pdf] 插件实现pdf上传预览、打印
    [html] 特殊字符
    [element-ui] 穿梭框对象重复不添加方案
    Redis持久化
  • 原文地址:https://www.cnblogs.com/jellychow/p/3148881.html
Copyright © 2011-2022 走看看