将对象propery分配给局部变量时,资源使用是否增加?

时间:2016-05-20 12:15:22

标签: javascript

我知道Javascript(主要是相对)“由参考语言分配”,但我也知道:

var object1 = {Lorem:"ipsum"};
var object2 = object1;

object1='some string';
console.log(object2)// {Lorem:"ipsum"}

我的目标是确定在局部变量声明中使用的全局对象的(可能)资源消耗属性是否会触及内存。

File1.js

window.AppResources={};
// ...
// ... AppResources being filled with properties, 
// ... strings, objects, functions...
AppResources.heavyFunction = function(){
    //some complex fn
};
AppResources.heavyString = '';//some 500KB string...
// ...

File2.js

;(function(win,doc, AppR){

    var localFunction = AppR.heavyFunction,
    var localString = AppR.heavyString;
    // ...
})(window, document, AppResources);

我担心这会使价值增加一倍。 我是否使用此分配来记忆 - 我应该使用对象属性吗?

1 个答案:

答案 0 :(得分:0)

答案是否定的。

将重字符串分配给另一个变量将不会复制内容,因此不会占用内存。将其分配给变量或对象属性具有相同的效果

p Foo
p Bar

以下是一段记忆档案:

enter image description here

尽管经常进行分配,但您可以看到初始分配,而不会发生其他分配