-2

有人可以告诉我,当我复制/别名 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。如果我删除或将 a 设置为 null 会怎样?

4

1 回答 1

3

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

bs 属性被复制到a(通过引用),因此内存增加非常小;只需bs 键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)
于 2013-09-25T12:56:01.277 回答