春风得意马蹄疾
一日看尽长安花

javaScript 栈和堆概念

栈的数据读取快,写入速度快,但存储内容少

栈中的变量一旦不使用就会被清理

一般字符型、数值型、布尔型及undefined会存储在栈中

堆的读取和写入速度慢,但存储的内容多

一般对象会存储在堆中

在控制台打印对象后,点击对象前的箭头,才去堆中对应的地址取数据,引用地址就是堆中对象存储的地址。

实例1

var o={a:1};
var o1=o;//将o对象的引用地址赋值给o1
o1.a=10;//因为o1和o是同一个对象,因此修改o1的属性就相当于修改了o的属性
console.log(o);

实例2

var o={a:1};
var o1=o;
o={b:2};//重新改变新地址
o.a=20;
console.log(o1);
console.log(o);

实例2重新定义了o对象,即创建了新地址,再改变o对象时,将与o1无关

Like
Like Love Haha Wow Sad Angry
1
赞(1) 打赏
未经允许不得转载:栗子纪blog » javaScript 栈和堆概念
分享到: 更多 (0)
0 0 vote
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments

创作不易,打赏一下作者买瓶洗发露

支付宝扫一扫打赏

微信扫一扫打赏

0
Would love your thoughts, please comment.x
()
x