【发布时间】:2021-03-10 01:47:48
【问题描述】:
想象一下,我有一个经常被调用的函数,需要在内部使用一个变量。
function busyFunction() {
var intermediateResult;
/* compute something */
return something;
}
据我了解,在第一个示例中,浏览器将为变量分配内存,然后安排它在某个时间进行垃圾回收。
var intermediateResult;
function busyFunction() {
/* compute something */
return something;
}
我知道第二个示例会污染busyFunction 之外的范围。但是由于变量的内存在父函数之前不会被垃圾收集,这对性能有好处吗?如果我在这里错了或者效果可以忽略不计,我宁愿使用第一个更干净的例子。
【问题讨论】:
-
让 GC 完成它的工作,而不是污染全局范围。如果这个函数被不同的异步调用,你不会得到意想不到的结果
-
@Cid 异步调用的好处。
标签: javascript performance function scope garbage-collection