这是一个与内存使用和“new”关键字相关的问题。我需要您在本地方法中使用"new"的建议和偏好。
get: function ()
{
<b>var get = new Ajax.Updater</b>('resourceList',
"url",
{
method: 'POST',
onComplete: this._onComplete.bind(this)
});
}
在上面的代码中,我将对象赋给了一个没有在任何地方使用的局部变量,我也可以用下面的方式编写代码
get: function ()
{
<b>new Ajax.Updater</b>('resourceList',
"url",
{
method: 'POST',
onComplete: this._onComplete.bind(this)
});
}
这里我没有将对象分配给任何变量。
我现在有点困惑。哪种方式更好,分配给变量还是不分配给变量?如果我在局部方法范围之后分配给一个变量,该对象将从内存中删除,但如果我不分配会发生什么?它会被垃圾收集处理吗?什么是最好的方法?我个人更喜欢分配给一个变量;那是对的吗?如果我不分配给变量,对象什么时候会被销毁?
最佳答案
JavaScript 垃圾收集器将处理超出范围且不再可访问的项目;这对于您的 Ajax.Updater
对象来说都是正确的,无论您是否将它分配给变量。
至于要不要赋值给变量? 我不会。它清楚地表明没有其他东西再次引用该对象。如果您将它分配给一个变量,人们就会开始寻找该变量的使用位置。
垃圾收集器非常聪明。您很少需要担心垃圾收集器是否会捡起一些东西。在 99.99999999% 的情况下,它会。
关于JavaScript - 使用 new 关键字的标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11117503/