js 内存图

var a = { name: 'a'}
var b = a
b.name = 'b'
a.name = 'b'
Stack Heap
a ADDR 101 101:name:'a' -> 'b'
b ADDR 101
var a = 1
var b = a
b = 2
a = 1
Stack Heap
a 1
b 1 -> 2
var a = { name: 'a'}
var b = a
b ={name: 'b'}
a .name= 'a'
Stack Heap
a ADDR 101 101:name:'a' -> 'b'
b ADDR 101 -> 102 102:name:'b'
var a = { name: 'a'}
var b = a
b =null
a .name= 'a'
Stack Heap
a ADDR 101 101:name:'a' -> 'b'
b ADDR 101 -> null
var a = {}
a.self = a
a.self.self.self=?
Stack Heap
a ADDR 101 101:name:'a' -> 'b' + self:ADDR 101
var a = {n:1}
var b = a
a.x = a = {n: 2}
alert(a.x);// --> undefined
alert(b.x);// --> [object Object]
Stack Heap
a ADDR 101 ->102 101:n:1 + ADDR102
b ADDR 101 102:n:2

7.垃圾回收

var a = {name: 'a '}
var b = {name: 'b'}
a = b
Stack Heap
a ADDR 101 ->102 101:name: 'a' ->垃圾回收
b ADDR 102 102:name:'b'

参考教程饥人谷

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

相关阅读更多精彩内容

友情链接更多精彩内容