Javascript 垃圾收集器如何知道不回收回调?

Javascript 垃圾收集器如何知道不回收回调?,javascript,garbage-collection,Javascript,Garbage Collection,如果setTimeout已完成执行,垃圾收集器如何知道不收集回调函数?当然不再有对回调函数的引用了?垃圾收集器确定哪些对象可以从本地和全局变量及数据结构访问,而这些对象不是垃圾。对于超时函数,可以从事件队列(Javascript实现内部的全局数据结构)访问它们。如果某个地方没有对它的引用,将如何调用它?这是否因实现而异?@chepner被非标准引用。可能重复 setTimeout(function () { alert('Hello'); }, 1000);

如果
setTimeout
已完成执行,垃圾收集器如何知道不收集回调函数?当然不再有对回调函数的引用了?

垃圾收集器确定哪些对象可以从本地和全局变量及数据结构访问,而这些对象不是垃圾。对于超时函数,可以从事件队列(Javascript实现内部的全局数据结构)访问它们。

如果某个地方没有对它的引用,将如何调用它?这是否因实现而异?@chepner被非标准引用。可能重复
setTimeout(function () {
    alert('Hello');
}, 1000);