Задать вопрос
@ncer
Frontend

Есть ли принципиальная разница между хранением значения в объекте и в переменной?

Уважаемые знатоки js, вопрос думаю понятен, поясню примером.

Сохранение значения в объект
// Save in object
var obj = {
  prop: $('.selector')
}
 
// Usage
obj.prop.addClass('someClass');


Сохранение значения в переменную
// Save in variable
var selector = $('.selector');
 
// Usage
selector.addClass('someClass');


Интересует одинаково ли работает кеширование в обоих случаях? Что в обоих случаях происходит на уровне работы в памяти? Каким из способов лучше организовывать хранение данных? Любые особенности, подводные камни, бест практис и т.д. Все, что знаете. Спасибо.
  • Вопрос задан
  • 289 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
@pekc83
Сохранение данных в качестве свойств объекта имеет смысл только для передачи в функцию большого количества переменных. В таком случае улучшается читабельность(желательно использовать осмысленные ключи), упрощается работа с опциональными аргументами и исключаются ошибки связанные с разным порядком аргументов.
someFunction(arg1, arg2, arg3, .................................., arg15,
             arg16, ..................................... , argN); // :(

var args = {
  arg1: ...,
  arg2: ...,
  .......
  argN: ...
}
someFunction(args); // :)


В остальных случаях лучше использовать переменную.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
rim89
@rim89
программист-велосипедист
Имхо объект больше жрет места.
Каким из способов лучше организовывать хранение данных?

Смотря что вы будет хранить. Если миллион строк - SQL
Ответ написан
Комментировать
@hufawoso
Что-то не понятен вопрос. Выбранный элемент сам по себе является объектом и поэтому всегда передается по ссылке. И куда вы его поместите - не имеет значения. Тут уж глядите чтобы вам было удобно с этим работать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы