内存

2019-02-27  本文已影响0人  BOB_BI

开机 把操作系统读到内存中
内存分配:


image.png

数据存储

数字64位
字符16位
Stack栈 Heap堆
值 简单 存stack //string,除了object
复杂 存heap,地址存在stack(引用) //object,string都可以
一些面试题
1.var a
a = {self: a} //a.self == undefinded
2.var a = {n:1};
var b = a;
a.x = a = {n:2};
alert(a.x); //undefined
alert(b.x); //[object object]

垃圾回收

如果一个对象没有被引用———垃圾,将被回收
离开作用域的值将被自动标记为可以回收,将在垃圾收集期间被删除
回收需要消耗cpu
垃圾收集方式:标记清除,引用计数
将之后不需要使用的变量设为null,解除引用可优化内存占用
面试题:
var fn = function(){}
document.body.onclick = fn
fn = null
function(){}是垃圾吗? 不是


image.png

深拷贝、浅拷贝

1.基本类型赋值都是深拷贝
2.复杂类型才分深拷贝和浅拷贝


image.png image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读