我读了一些有关如MDN上的和这篇文章,我明白了JavaScript中的GC是如何运行的。
但我仍不理解以下事项:
a) 垃圾回收器何时启动(它是在一定间隔后被调用还是必须满足某些条件)?
b) 谁负责垃圾回收(它是JavaScript引擎或浏览器/Node的一部分)?
c) 运行在主线程还是独立线程上?
d) 以下哪一个具有更高的峰值内存使用率?
但我仍不理解以下事项:
a) 垃圾回收器何时启动(它是在一定间隔后被调用还是必须满足某些条件)?
b) 谁负责垃圾回收(它是JavaScript引擎或浏览器/Node的一部分)?
c) 运行在主线程还是独立线程上?
d) 以下哪一个具有更高的峰值内存使用率?
// first-case
// variables will be unreachable after each cycle
(function() {
for (let i = 0; i < 10000; i++) {
let name = 'this is name' + i;
let index = i;
}
})()
// second-case
// creating variable once
(function() {
let i, name, index;
for (i = 0; i < 10000; i++) {
name = 'this is name' + i;
index = i;
}
})()