-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 aとの実装がc同じオブジェクトになると信じています。

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)
于 2013-09-25T12:56:01.277 に答える