JavaScript进阶篇(二)——数据变量内存

1.什么是数据

存储在内存中代表特定含义的信息,本质上是010101…

2.什么是内存

可存储数据的空间(临时的)

3.什么是变量

可变化的量,由变量名和变量值组成
每个变量都对应一小块内存,变量名用来查找对应的内存,变量值就是内存中保存的变量

4.栈和堆
  • (stack):栈会自动分配内存空间,会自动释放,存放基本类型,简单的数据段,占据固定大小的空间。(基本类型:String,Number,Boolean,Null,Undefined)

  • (heap):动态分配的内存,大小不定也不会自动释放,存放引用类型,指那些可能由多个值构成的对象,保存在堆内存中,包含引用类型的变量,实际上保存的不是变量本身,而是指向该对象的指针。(引用类型:Function,Array,Object)

JS中的变量都是保存到栈内存中的

在这里插入图片描述

  • 基本数据类型的值直接保存在栈内存中
    值与值之间是相互独立的,修改一个变量不会影响其他变量值
    在这里插入图片描述

  • 引用数据类型(对象)是保存到堆内存中的,,每创建一个新对象,就会在内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个变量的引用,那么通过一个变量改变属性时,另一个变量也会收到影响
    在这里插入图片描述

基本数据类型保存的是值,引用数据类型保存的是地址

  • 当比较两个基本数据类型时,比较的就是值

  • 当比较两个引用数据类型时,比较的是对象的内存地址,如果两个对象一样,但是内存地址不同,那么会返回false

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值