关于js内存回收机制
2017-05-14 14:48
155 查看
参考: http://blog.chinaunix.net/uid-26672038-id-3522560.html
js的内存回收是有回收器自动回收的,不想c++那样,由开发者自己处理
function test1() {
var i = {name: 'sss'}
}
function test2() {
var i = {name: 'ss'};
return i;
}
var t1 = test1();
var t2 = test2();
test2中的对象{name:
'ss'}不会释放,因为他的地址被返回赋值给了t2,但是i都是有释放的,i的作用只是存储对象的储存地址
js回收机制的方式:
1.标记清理(大部分js引擎),当一个变量进入一个环境时标记Yes,出来No,引擎会定期扫描,如果一个变量没有Yes,只有No就清理
2.引用计数(老版IE),一个变量被引用就加1,如果引用它的变量又引用了其他,就减1,变为0的时候就清除,但是这种方法如果出现循环引用,就会导致内存永远不被释放
js的内存回收是有回收器自动回收的,不想c++那样,由开发者自己处理
function test1() {
var i = {name: 'sss'}
}
function test2() {
var i = {name: 'ss'};
return i;
}
var t1 = test1();
var t2 = test2();
test2中的对象{name:
'ss'}不会释放,因为他的地址被返回赋值给了t2,但是i都是有释放的,i的作用只是存储对象的储存地址
js回收机制的方式:
1.标记清理(大部分js引擎),当一个变量进入一个环境时标记Yes,出来No,引擎会定期扫描,如果一个变量没有Yes,只有No就清理
2.引用计数(老版IE),一个变量被引用就加1,如果引用它的变量又引用了其他,就减1,变为0的时候就清除,但是这种方法如果出现循环引用,就会导致内存永远不被释放
相关文章推荐
- 关于js中的回收机制,通俗版
- js的垃圾回收机制和内存分配
- 【红宝书笔记】一点关于JS的垃圾回收机制
- The NOTE of learning ASP.NET [18] 关于.NET(GC)内存回收机制
- 关于vp中的内存自动回收机制的看法
- The NOTE of learning ASP.NET [19] 关于GC(内存回收机制)、对象的销毁和using的使用
- 关于vp中的内存自动回收机制的看法
- 【Java】关于JVM运行时内存空间、JVM垃圾回收机制
- 深入理解.NET内存回收机制
- as3 内存回收机制测试
- .Net中的内存回收机制
- 【转载】关于垃圾回收机制
- 深入理解.NET内存回收机制
- .Net中的内存回收机制
- 浅谈CLR的内存分配和回收机制
- 深入理解.NET内存回收机制
- GC回收与内存管理机制,垃圾回收
- 深入理解.NET内存回收机制
- 转载:.net 内存回收机制
- 深入理解.NET内存回收机制