console.log将阻止垃圾收集
Will console.log prevent garbage collection?
如果我有一个对象,它通常会被垃圾收集,但已经记录到控制台,它仍然有资格进行垃圾收集吗?
(function(){
var o = { foo: {} };
console.log(o);
}())
// Can o be collected?
如果是,是否存在向控制台写入(使用其任何方法)会影响垃圾收集资格的任何情况?
编辑:根据Chrome开发工具中的堆,我不认为这会影响收集的资格。但是,任何一种类型的对控制台的写入都会这样做吗
如果将对象记录到控制台,则不能对其进行垃圾收集。
您可以通过在chrome控制台中输入以下内容来验证:
var Foo = function() {};
console.log(new Foo());
转到"配置文件"answers"获取堆快照"。这将自动进行垃圾收集。搜索类"Foo"。在"对象计数"列中将有一个1
。
相关文章:
- Array.length似乎不起作用;console.log则显示其他情况
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- console.log以外的Javascript输出函数
- 如果在代码末尾进行求值,jQuery-console.log将提供空数组
- 为什么生成器中的console.log会按这样的顺序出现
- async问题,JS Promise无法返回结果,但可以使用console.log
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- 我应该返回一个类似console.log()的方法调用吗
- console.log无法运行Mac OS X
- 如何使console.log可配置
- 如何使用console.log语句在Mocha中测试函数
- 为什么我可以't直接将console.log()设置为回调函数
- Node.js/Express未输出console.log,highcharts.js给出未定义的错误
- console.log在角度控制器内不工作
- Mocking console.log()/MOCHA测试框架中的任何其他函数
- 如何使用console.log在因果报应测试中检查函数
- Console.log - getElementsByClassName
- nodejs console.log of object
- 监视JavaScript输出,例如console.log()
- console.log/console.dir显示对象的最后状态,而不是当前状态