Js基础知识-变量类型

2020-04-11  本文已影响0人  小恐龙yaya

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运算符

上一篇下一篇

猜你喜欢

热点阅读