别名javascript对象增加内存?

时间:2013-09-25 12:54:27

标签: javascript

有人可以告诉我何时复制/别名JavaScript对象,这会增加内存消耗吗?

示例:我想快捷查看某个对象。

// total memory 12k
// object.someobject 12k
var a = object.someobject;

Q1。 多少内存(24k?或12k)

// and if i do
// object2 10k
var b = object2;
var c = $.extend(a,b);

Q2。 我现在有多少记忆?

Q3。 如果我这样做会增加内存,快捷方式的最佳做法

- 编辑 -

Q4。如果我删除或设置为null会发生什么?

1 个答案:

答案 0 :(得分:3)

我相信jQuery的extend ac的实现将是同一个对象。

b的属性被复制到a(通过引用),因此内存增加非常小;仅b中的a个键。

在代码中:

var a = { "foo": {} }; // memory: defining a,
var b = { "bar": {} }; // memory: defining b
var c = $.extend(a, b); // memory: adding key 'bar' to `a`
c === a; // true
a.bar === b.bar; // true
({}) === ({}); // false (for sanity)