如果你在JavaScript中廢棄了用過的對象,你是否保存了可能的愚蠢的垃圾收集?如果您在JavaScript中廢棄了用過的對象,您是否保存了可能的傻垃圾集合?
例如。
如果通過在JavaScript中一些用戶重複:
var users = [
{ FirstName: "Chris", LastName: "Pearson" },
{ FirstName: "Kate", LastName: "Johnson" },
{ FirstName: "Josh", LastName: "Sutherland" },
{ FirstName: "John", LastName: "Ronald" },
{ FirstName: "Steve", LastName: "Pinkerton" }
];
// Do something with the data, perhaps put it in a table
users = null;
是現在值得抵消該名單?有沒有人有一些科學背後的性能提升,或者如果這是浪費時間等?
有時很難向人們解釋爲什麼你以某種方式做某件事,我知道它在很多場合保存了我的培根,當然,C++,但是在JavaScript中,是否有任何實驗來確定它是否值得在JavaScript?找到我可以信任的sizeof函數,讓我哭泣......如果有人已經做過這種實驗,我會非常感謝你看到你的想法!
你嘗試過它[?jsPerf.com] (http://jsperf.com) –
如果你的變量超出範圍,並且沒有人提及它,那麼無論你是否取消它,它都會被GC吞噬。 – Renan
不幸的是,我的用戶是全球性的,我有一個「班級」(所有意圖和目的),我製作了很多版本,這些都是我的用戶。它們是在一個全局類中創建的(爲了讓我更容易調試 - 命名空間),所以用戶持久化。但它不僅僅是用戶,我在JavaScript對象中有大約50種不同類型的數據。我注意到,在而瀏覽器突然加速。我當時在想:「它一定是垃圾收集」......現在,我可以在正確的時間潛入並取消所有的事情,但是在做這件事之前我想知道更多。 – Jimmyt1988