javascript - 关于js引用类型在chorme下遇到的问题
本文介绍了javascript - 关于js引用类型在chorme下遇到的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
关于引用类型,值的赋值只是堆内存的复制,就是多个变量指向同一个堆内存。但在chrome下,我测试的时候,遇到那么一个情况,希望大神们可以给我个解答
在下图中
我建了一个变量a,赋值了一个空对象给它
变量a赋值给变量b
a追加一个属性name
a注销
根据引用类型的使用,在a被注销的时候,对象应该被不存在了,但b依旧存在着这个引用。我的疑问就是这个,b输出的结果不应该是null也对吗?
解决方案
举个例子:
a = {}; 假如 {} 在内存里的名字为 0x2334c;
b = a; 实际执行的是 b = 0x2334c;
a = null; 执行的是给a标记,等待销毁;
但b 还在引用 0x2334c ,所以0x2334c被没有被销毁;
除非 b和a = null;
这篇关于javascript - 关于js引用类型在chorme下遇到的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文