Geo*_*ess 1 javascript performance garbage-collection
我想知道在循环之外放置在循环中引用的任何变量是否更有效 - 或者它们是否可以像函数中的变量一样收集垃圾?
var obj = {key:'val'};
for(var i=0; i<10; i++){
console.log(obj);
}
Run Code Online (Sandbox Code Playgroud)
要么
for(var i=0; i<10; i++){
var obj = {key:'val'};
console.log(obj);
}
Run Code Online (Sandbox Code Playgroud)
我试图在我的浏览器的分析器中运行一些内存测试,但仍然无法分辨哪种方法更好.
var是功能范围,没有阻止范围,所以它们是否出现在循环内并不重要. JavaScript中的变量范围是什么?解释了这种区别.
下一版本的JavaScript将具有let-scoped变量,如果在循环内部声明,则存储在这些变量中的值将在循环体运行结束时变得可收集.
| 归档时间: |
|
| 查看次数: |
2077 次 |
| 最近记录: |