Js基础知识-变量类型

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,645评论 0 11
  • 九种基本数据类型的大小,以及他们的封装类。(1)九种基本数据类型和封装类 (2)自动装箱和自动拆箱 什么是自动装箱...
    关玮琳linSir阅读 6,038评论 0 47
  • 前言 不知道大家有没有这样一种感觉,程序员的数量井喷了。可能是因为互联网火了,也可能是各家培训机构为我们拉来了大量...
    活这么大就没饱过阅读 7,697评论 6 25
  • 今天听广播,里面谈了科学与技术的关系,很受启发。科学就是为什么,技术就是怎么办,科学是研究规律的,技术是运...
    山高欲攀阅读 3,398评论 1 51
  • 在灵活的注意视角下,任何经历都存在不同的两面:丧失的一面与收获的一面。当我们选择性地关注其中一面时,我们的生活会随...
    小夷阅读 1,472评论 0 0

友情链接更多精彩内容