美文网首页
Js基础知识-变量类型

Js基础知识-变量类型

作者: 小恐龙yaya | 来源:发表于2020-04-11 16:39 被阅读0次

    JS值类型与引用类型

    值类型

    string number boolean symbol underfind

    举例

        let a=100
        let b=a 
        a=200
        console.log(b)  // b=100
    

    修改a的值,b不会造成影响

    引用类型

    object null array function

    举例

        let a={age:10}
        let b=a 
        b.age=20
        console.log(a.age)  // b=20
    

    修改b的age,a的age也会改变

    分析

    在计算机内存中,存在栈,堆的概念。
    堆栈是一个特定的存储区或寄存器,它的一端是固定的,另一端是浮动的 。对这个存储区存入的数据,是一种特殊的数据结构。

    值类型会存在于栈中。储存形式如图,当修改某一值时并不会改变另外一个值的变化。


    QQ截图20200411162544.png

    引用类型会在堆中申请内存地址,将对象存放至堆中,将堆对应的内存地址存入到栈中,当b=a时就会将a的内存地址赋值给b,当b修改了值就会修改了堆中的值,从而改变a的值。

    null 特殊引用类型,指针指向空地址

    QQ截图20200411163043.png

    以上总结了JS中常见的变量类型,为了解决引用类型带来的问题,可以参见后续文章:
    下一章:Js基础知识-typeof运算符

    相关文章

      网友评论

          本文标题:Js基础知识-变量类型

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