美文网首页
JS基础类型转换与内存图

JS基础类型转换与内存图

作者: MajorDong | 来源:发表于2019-05-12 16:14 被阅读0次

    1.JavaScript的类型转换

    1.1 任意类型转字符串String

    • String(x)
    • x.toString()
      nullundefined类型会报错
    • x + ' ' 与空字符串相加

    1.2任意类型转数字number

    • number('1') === 1`
    • parseInt('1', 10) === 1
    • parseFloat('123') === 1.23
    • '1' - 0 === 1
    • + '1'取正

    1.3任意类型转布尔boolean

    • Boolean()
    • !!x
      五个falsy值 0 NaN ' ' null undefined

    2.深复制与浅复制

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

    对于简单类型的数据来说,赋值就是深拷贝。
    对于复杂类型的数据(对象)来说,才要区分浅拷贝和深拷贝

    这是一个浅拷贝的例子

    var a = {name: 'frank'}
    var b = a
    b.name = 'b'
    a.name === 'b' //true
    

    因为我们对b操作后,a也变了
    什么是深拷贝就是对Heap内存进行完全的拷贝

    var a = {name: 'frank'}
    var b = deepclone(a) //deepclone还不知如何实现
    b.name = 'b'
    a.name === 'frank'//ture
    
    

    相关文章

      网友评论

          本文标题:JS基础类型转换与内存图

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