变量赋值与堆栈内存

这篇博客探讨了JavaScript中变量赋值的原理,详细分析了简单数据类型和复杂数据类型(如对象)的赋值操作。通过内存操作解释了如何在栈和堆中保存和关联值,强调了赋值过程中变量与值的关系并非简单的拷贝,而是通过指针关联。文中还通过实例解析了连续赋值和对象属性操作的细节,并讨论了阿里经典面试题,涉及了优先级和对象引用的知识。
摘要由CSDN通过智能技术生成

 

一些必备的先验知识点:

1、js中涉及到等号赋值操作时包含三个步骤:①创建变量 ②创建值 ③关联前面二者

2、一个变量只能关联一个值

下面通过案例说明不同情况的变量赋值对应的内存操作过程


一、简单数据类型的赋值与内存操作

举个例子:

let a=0;//创建一个变量a,创建一个值(0),将变量和值相关联

let b=a;//创建一个变量b,将a关联的值给b

b++;//将b关联的值++

alert(a);

这里面涉及到的内存操作如下:

let a=0; 创建一个变量a,创建一个值0,在a0之间建立关联

let b=a;创建一个变量b,把a关联的变量关联给b

b++;等价于b=b+1:b变量对应的值拿过来,加一,得1,把这个值再赋值给b变量,b=b+1=1,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值