美文网首页
javascript里的数据类型转换

javascript里的数据类型转换

作者: xvyabin | 来源:发表于2018-12-05 14:51 被阅读0次

    任意类型转字符串

    1.用String(转换内容):

    String(1)
    "1"
    String(true)
    "true"
    String(null)
    "null"
    String(undefined)
    "unedfined"
    String({})
    "[object object]"

    2.内容.tuString()...(此方法null跟unedfined控制台会报错)

    (1).tuString()
    "1"
    true.toString()
    "true"
    ({}).toString()
    "[object object]"

    3.内容+ ""也能转换字符串:

    1+""
    "1"
    true +""
    "true"
    null +""
    "null"
    undefined + ""
    "undefined"
    var x= {}
    x + ""
    "[object object]"

    任意类型转数字

    1.Number(数字)(以下“f”没有值的情况是:(NaN))

    Number("f")
    NaN
    Number("2")

    2.parseint(内容,进制单位)

    parseInt("56",8)
    46
    parseInt("56",10)
    56
    parseInt("56",16)
    86

    3.parseFloat("小数")

    parseFloat("123.321")
    123.321

    4.内容 -0

    "1" - 0
    1
    "tuer" -0
    NaN

    5.+内容

    + "1"
    1

    任意类型转布尔

    1.Boolean("内容")

    Boolean(Accelerometer)
    true

    2.!!内容

    !!abc
    true

    3.以下5个false 值(除了这5个值其余的转换为true)

    Boolean (0)
    false
    Boolean(NaN)
    false
    Boolean(null)
    false
    Boolean("")
    false
    Boolean(undefined)
    false

    内存图解

    1.JS 引擎将内存分为代码区和数据区

    2.数据区分为 Stack(栈内存) 和 Heap(堆内存)

    • 简单类型(6种类型)的数据直接存在 Stack 里
    • 复杂类型(object)的数据是把 Heap 地址存在 Stack 里

    深复制与浅复制

    1深复制:

    var a = 1
    var b = a
    b = 2 //这个时候改变 b
    a 完全不受 b 的影响
    那么我们就说这是一个深复制

    2.浅复制:

    var a = {name: 'xyb'}
    var b = a
    b.name = 'b' // b 操作后,a 也变了
    a.name === 'b' // true
    a受b影响也变了,那么这就是一个浅复制。

    相关文章

      网友评论

          本文标题:javascript里的数据类型转换

          本文链接:https://www.haomeiwen.com/subject/rqqicqtx.html