【发布时间】:2013-10-17 01:35:32
【问题描述】:
我们是否需要在 JavaScript 中取消设置变量,为什么?
例如在 PHP 中,建议在所有类型的循环中取消设置所有临时变量,以保持内存空闲并避免变量重复。
但无论如何根据php - what's the benefit of unsetting variables?问题:
取消设置变量是否真的不会减少运行时的内存消耗? -是的。
那么我们应该delete window.some_var;吗?
或者我们应该使用some_var = null?
或者我们不应该取消设置变量以避免额外的 CPU 周期?
更新: 相关问题:
【问题讨论】:
-
ECMAScript 中不能删除变量,只能删除没有标记为不删除的对象属性(即它们的
[[Configurable]]属性设置为false)。全局变量可作为全局(窗口)对象的属性使用,但如果它们是由声明(例如var x或function x)创建的,则它们是不可删除的。 -
@minitech — 我在 Firefox 中得到
function, function,IE 抛出错误“无法删除 window.hello”),你得到了什么?见ECMA-262 §10.5。 -
@RobG:我在 Firefox 中得到
function, undefined。function, function在 Chrome 中。 有趣。 -
@RobG:你指的是哪一部分?
-
哦,Firefox 控制台包装了
window或其他东西。我的错。
标签: javascript memory memory-management memory-leaks