这是一个与内存使用和“new”关键字有关的问题。我需要您对在本地方法中使用“新”的建议和偏好。
get: function ()
{
var get = new Ajax.Updater('resourceList',
"url",
{
method: 'POST',
onComplete: this._onComplete.bind(this)
});
}
在上面的代码中,我将对象分配给一个未在任何地方使用的局部变量,我也可以按以下方式编写代码
get: function ()
{
new Ajax.Updater('resourceList',
"url",
{
method: 'POST',
onComplete: this._onComplete.bind(this)
});
}
这里我没有将对象分配给任何变量。
我现在有点困惑。分配给变量还是不分配给变量哪种方法更好?如果我在本地方法作用域之后分配给变量,则该对象将从内存中取出,但如果我不分配会发生什么?它会被垃圾收集处理吗?这是最好的做法是什么?就我个人而言,我更喜欢分配给变量;那是对的吗?如果我不分配给变量,对象什么时候会被销毁?
JavaScript 垃圾收集器将在项目超出范围且不再可达时对其进行处理;这对你来说是正确的Ajax.Updater
对象,无论您是否将其分配给变量。
那么是否应该将其分配给变量呢?我不会。它清楚地表明没有其他任何东西再次引用该对象。如果将它分配给一个变量,人们就会开始寻找该变量的使用位置。
垃圾收集器是very聪明又聪明。您很少需要担心垃圾收集器是否会捡起某些东西。在 99.99999999% 的情况下,它会。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)