История изменений
Исправление special-k, (текущая версия) :
1) Будет ли для первого варианта «клонироваться» в памяти методы при new myObj()?
Вероятно.
2) Как правильно замерить?
Встроенные профайлеры, количество съеденной памяти и т.д. и т.п. Так или иначе работа с памятью сильна инкапсулирована, чтобы что-то там конкретное измерить.
3) Есть ли различия в поведении js-движков для вышеописанного контекста?
Есть.
4) Предполагаю есть еще вариант с прототипами?
Если создавать функцию один раз, а не 100, то она гарантировано займет в памяти меньше места чем 100 дубликатов функции. Технически можно установить в свойство объекта ссылку на функцию, а не создавать ее на месте.
ради инкапсуляции данных
Прекратите засирать код.
600к «тупых» объектов данных браузер летает
600к объектов с т.з памяти - херня.
for (var i in obj.foo.bar)
Перебор больших объемов данных должен осуществляться только по индексу массива в котором заполнены все элементы (т.е. без дыр).
Исходная версия special-k, :
1) Будет ли для первого варианта «клонироваться» в памяти методы при new myObj()?
Вероятно.
2) Как правильно замерить?
Встроенные профайлеры, количество съеденной памяти и т.д. и т.п. Так или иначе работа с памятью сильна инкапсулирована, чтобы что-то там конкретное измерить.
3) Есть ли различия в поведении js-движков для вышеописанного контекста?
Есть.
4) Предполагаю есть еще вариант с прототипами?
Если создавать функцию один раз, а не сто, то она гарантировано займет в памяти меньше места чем 100 функций. Технически можно установить в свойство объекта ссылку на функцию, а не создавать ее на месте.
ради инкапсуляции данных
Прекратите засирать код.
600к «тупых» объектов данных браузер летает
600к объектов с т.з памяти - херня.
for (var i in obj.foo.bar)
Перебор больших объемов данных должен осуществляться только по индексу массива в котором заполнены все элементы (т.е. без дыр).