JavaScript-使用新关键字的标准
这是一个与内存使用和“new”关键字有关的问题。我需要你的建议和偏好使用“新”在当地的方法JavaScript-使用新关键字的标准,javascript,memory,var,Javascript,Memory,Var,这是一个与内存使用和“new”关键字有关的问题。我需要你的建议和偏好使用“新”在当地的方法 get: function () { var get = new Ajax.Updater('resourceList', "url", { method: 'POST', onComplete: this._onComplete.bind(this) }); } get:function() { var get=new Ajax.Updat
get: function ()
{
var get = new Ajax.Updater('resourceList',
"url",
{
method: 'POST',
onComplete: this._onComplete.bind(this)
});
}
get:function()
{
var get=new Ajax.Updater('resourceList',
“网址”,
{
方法:“POST”,
onComplete:这个。\ onComplete.bind(这个)
});
}
在上面的代码中,我将对象分配给一个局部变量,该变量在任何地方都不使用,我也可以用以下方式编写代码
get: function ()
{
new Ajax.Updater('resourceList',
"url",
{
method: 'POST',
onComplete: this._onComplete.bind(this)
});
}
get:function()
{
新的Ajax.Updater('resourceList',
“网址”,
{
方法:“POST”,
onComplete:这个。\ onComplete.bind(这个)
});
}
这里我没有将对象分配给任何变量
我现在有点困惑。哪种方式更好,分配给变量还是不分配给变量?如果我在局部方法作用域之后赋值给变量,对象将从内存中删除,但是如果我不赋值,会发生什么?它会被垃圾收集处理吗?什么是最好的方法?就我个人而言,我更喜欢指定一个变量;对吗?如果我没有分配给变量,对象什么时候会被销毁?JavaScripts垃圾收集器将处理超出范围且不再可访问的项目;无论您是否将其分配给变量,您的
Ajax.Updater
对象都是如此
那么你是否应该把它分配给一个变量我不会。它清楚地表明,没有任何其他东西再次提及该对象。如果您将其分配给一个变量,人们将开始查看该变量的使用位置
垃圾收集器非常聪明。您很少需要担心垃圾收集器是否会拾取某些内容。在99.99999999%的情况下,它将被指定。如果您随后需要访问对象,则只应将其指定给变量。无论哪种方式,对象都将被垃圾收集,因此您最好保存一个变量声明和几个字节。我认为构造函数不如定义私有变量并接受相同参数的函数那么合适。 构造不需要引用的东西有什么意义?您在理解代码时给我们带来了一些问题:P