допустим надо поставить значение в key1, если мы не знаем создан ли весь путь к нему то
let array = {};
if (!array.window) array.window = {};
if (!array.window.settings) array.window.settings = {};
array.window.settings['key_' + 'тут_можно_динамически_вставить_значение'];
ну или можно
if (!array['window']) array['window'] = {};
if (!array['window']['settings']) array['window']['settings'] = {};
array['window']['settings']['key_' + 'тут_можно_динамически_вставить_значение'];
напишу заготовку, примерно на jquery
var $d = $(document);
// данные которые будут хранится в памяти
var data = [];
// после загрузки страницы
$d.ready(function {
// аяксом спросить данные
$.ajax( "example.php" )
.done(function (d) {
// сохранили данные в переменной
data = d;
});
});
// вот тут по клику данные забрали
$d.on('click', '.btn', function() {
showData(d);
});
// показали данные
function showData (d) {
console.log(d);
}
Андрей Сальников: не вижу необходимости в работе с DOM, однажды попробовав React, Riot, vue и т.п. фреймворки вряд ли кто-то перейдет обратно к работе с DOM, это другая концепция.
Все остальное вы правильно уловили.
Андрей Сальников: если работать с голыми данными в виде объекта, то иногда данные нужно модифицировать, добавить строки, удалить, заменить, сортирануть и т.п. вот тут можно создать класс с методами, и использовать его, там даже можно сделать метод рендера, чтоб в конечном итоге отдавал HTML и т.п.
Иногда может потребоваться отнаследоваться от этого класса.
Например корзина на сайте, просто объект или массив со строками заказа, пишем класс для работы с данными. И есть клиенты которым нужно считать доставку по другому, или скидку по другому или еще что-нибудь, вот можно для них отнаследоваться от базового класса и заменить методы и т.п.
Вот пока вы к этому не придете, и будете работать с DOM классы вряд ли понадобятся
Денис Инешин: я вас понял, но нужно именно отличить старые устройства, и отсечь их в поддомен, у них будут минималистичные css, м.б. другой шаблон даже.
Денис Инешин: видимо я не совсем улавливаю мысль, попробую донести еще раз о чем я. На сервере по "User-Agent" можно понять что это мобильник или нет, затем отправить на адрес site.ru или m.site.ru, но поскольку на поддомене m.site.ru я хочу оставить только старые гаджеты, то придется после загрузки страницы определить (на клиентской части) поддерживается ли "Media Queries", если да, то ставится кука и происходит переход на site.ru. Оставлять современные устройства на m.site.ru очень бы не хотелось.
я думаю тоже сначала по заголовку "User-Agent" на php детектировать все мобильные и отправлять их на m.site.ru, а потом js-скриптом на стороне клиента вычислять поддерживает ли он Media Queries, и ставить куку если поддерживает. Но тут нужно будет второй раз страницу перезагрузить, что мне совсем не нравится. Вот ищу изящное решение)