Jim Kolb Ответов: 1

Копия или указатель на объект?


Если я создаю большой объект в окне браузера, использующем фреймы...

ЧЕРНЫЙ ЯЩИК={}
Черный ящик.historyobj=[];
BLACKBOX. somevariable= " имя"
BLACKBOX. somevalue=24
Черный ящик.largearray=[....];
Черный ящик.anotherarray=[....];
Черный ящик.SortNumbers=функция(а,б){возвращение (parseInt(а)-parseInt(б));};
и т.д...

и каждый кадр использует переменную типа

var BB=window. top. BLACKBOX

теперь каждая переменная BB в каждом кадре содержит копию объекта и использует больше памяти,
или он просто указывает на окно черного ящика??

Что я уже пробовал:

Я успешно использую это в течение многих лет
но интересно, потребляет ли это больше памяти, если
он просто делает копии черного ящика в каждом кадре.

Richard MacCutchan

вы можете легко проверить это, настроив все ваши фреймы, а затем изменив значение BLACKBOX и посмотрев, что происходит с каждым BB.

1 Ответов

Рейтинг:
10

Kornfeld Eliyahu Peter

Все, что вам нужно сделать, это изучить JavaScript..
..но даже с базовыми знаниями вы должны проверить это в одиночку...

var o1 = {"name": "o1"};
var o2 = o1;
var o3 = o1.assign({}, o1);

o2.name = "o2";
o3.name = "o3";


Проверять o1, o2 и o3 в конце... вот вам и ответ...