最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Will console.log prevent garbage collection? - Stack Overflow

programmeradmin1浏览0评论

If I have an object that would normally be garbage collected, but has been logged to the console, will it still be eligible for garbage collection?

(function(){
  var o = { foo: {} }; 
  console.log(o);
}())

// Can o be collected?

If yes, are there any circumstances where writing to the console (using any of its methods) can affect eligibility for garbage collection?

Edit: I dont believe it will affect eligibility for collection based on watching the heap in Chrome dev tools. But will any category of writing to the console do so?

If I have an object that would normally be garbage collected, but has been logged to the console, will it still be eligible for garbage collection?

(function(){
  var o = { foo: {} }; 
  console.log(o);
}())

// Can o be collected?

If yes, are there any circumstances where writing to the console (using any of its methods) can affect eligibility for garbage collection?

Edit: I dont believe it will affect eligibility for collection based on watching the heap in Chrome dev tools. But will any category of writing to the console do so?

Share edited Mar 3, 2015 at 19:07 Ben Aston asked Mar 3, 2015 at 18:50 Ben AstonBen Aston 55.8k69 gold badges220 silver badges349 bronze badges 2
  • 5 Chrome sometimes adds a note to logged objects, something like "evaluated upon first expansion". This suggests that the object might have been GCd in the meantime. But it could also just refer to modifications. – Thomas Commented Mar 3, 2015 at 18:52
  • @Thomas I'm pretty sure it's referring to modifications. – Scimonster Commented Mar 3, 2015 at 18:56
Add a ment  | 

1 Answer 1

Reset to default 6

If you log an object to the console it can not be garbage collected.

You can verify this by entering in the chrome console:

var Foo = function() {};
console.log(new Foo());

Go to “Profiles” and “Take Heap Snapshot”. This will do a garbage collection automatically. Search for class “Foo”. There will be a 1 in column “Objects count“.

发布评论

评论列表(0)

  1. 暂无评论