Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 03.08.2016, 12:48
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

id не дублируется умнег, а сохраняется. Оно никому не мешает лежа внутри объекта как лежало, поскольку при доступе к элементу по динамически вычисляемому ключу ты НЕ узнаешь id, ибо объект НЕ знает про своего родителя, а когда все в нем - бери что хочешь. Теперь уже иди экономь байты на убивании id.
Ответить с цитированием
  #22 (permalink)  
Старый 03.08.2016, 12:55
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Это господа наше фсе. Рюзга когда узнает как надо, не радуется "А, так вот оно как, ну классно", а горюет "А за что я кровь проливал" и жалко ему становится своего говнокода. Тайком может быть исправит немного, скрепя сердце и скрипя извилинами покиляет часть, но не все, ибо если кодов мало, то нет морального удовлетворения. Это об анальной фиксации читайте у Фрейда.
Ответить с цитированием
  #23 (permalink)  
Старый 03.08.2016, 13:44
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Сообщение от warren buffet Посмотреть сообщение
Это господа наше фсе. Рюзга когда узнает как надо, не радуется "А, так вот оно как, ну классно", а горюет "А за что я кровь проливал" и жалко ему становится своего говнокода. Тайком может быть исправит немного, скрепя сердце и скрипя извилинами покиляет часть, но не все, ибо если кодов мало, то нет морального удовлетворения. Это об анальной фиксации читайте у Фрейда.
Я не ругаюсь и не критикую. Просто сказал, что пришло в голову. Если в JS связи между переменной и названием построены так же то это нечего печально. Оптимизация кода после запуска хотя бы рабочего кода
__________________
Обеими руками за монополизацию браузерного бизнеса. Меньше браузеров, большего свободного времени у разработчиков.©KupueIIIKo
Ответить с цитированием
  #24 (permalink)  
Старый 03.08.2016, 16:38
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

У тебя просто подгорело, когда ты понял, что вся эта каша с переливанием пропертей вообще не нужна. Типа а-чо-такова что дохера лишних кодов, подумаешь там несколько десятков байт уедут, но анальная фиксация дала знать - оставленный id тебе сразу бросился в глаза.

Короче, полюби уже себя, делай для себя как лучше, а лучше - это значит лучше, а не как получилось из-за незнания как делается. Делается вообще просто. На сервере формируешь массив и выдаешь его в json или xml браузеру, тот передает скрипту - втыкай и не надо молотить.

Из БД получается индексный массив, ну так на сервере профтыкай в него идешники и все. Например на пехепе.

$assoc=array();

$rows = $db->query('select * from `messages` where 1')->fetch_all(MYSQLI_ASSOC); /* или какой у тебя драйвер бд */

foreach($rows as $row)
   $assoc[$row['id']]=$row;

echo json_encode($assoc); 

exit;


В браузере просто сразу рендеришь, скажем

var el;
for(var id in json)
	if(el=wrapper.querySelector('#'.id))
		edit_post(json[id]);
		/*
		а вот тут скажи мне брат, как edit_post() узнает про id,
		если его нет внутри объекта? Если id нет внутри, 
		тебе придется передавать его как дополнительный 
		аргумент фкнкции, а зачем? Понял зачем id внутри?
		*/
	else
		create_post(json[id]);


Потому что "модель" уже сделана на сервере.
Ответить с цитированием
  #25 (permalink)  
Старый 03.08.2016, 16:45
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Почему нормализовать и приводить в порядок лучше на сервере. Потому что затраты на запуск треда, пехепе или какой там привод - просто несоизмеримы с тем, что затем делается этими скриптами и модулями. Это все равно что поднять пятиэтажный дом и волноваться о коробке чая оставленного на кухне, типа она создаст лишний вес. Когда ты попал в серверный скрипт - можешь там резвиться до посинения. Ты посмотри как прославленные фрейморки устроены изнутри. Жаба - для рендера. Какие-то там модели и прочая тряхомудия - чисто культура, чистого MVC на жабе не надо вообще.

*Из БД получается индексный массив

То есть ассоциативный, но с индексами рядов. Ключи в массивах менять нельзя, поэтому приходится переписывать из одного в другой.

Premature optimization вопит про el=wrapper.querySelector(), тогда так

for(var id in json)
   if(id in messages) /* старый массив */
      edit_post(json[id]);
  else
     create_post(json[id])

messages=json; /* теперь новые данные стали старыми */


Одна процедура на всё. Если messages={}, то сработает только create_post()

Последний раз редактировалось warren buffet, 03.08.2016 в 16:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сanvas изображения подключить к элементу выбора файла mnbcz Элементы интерфейса 0 14.07.2016 17:38
Плавный переход к элементу по внешней ссылке deniskutovskiy jQuery 13 16.10.2015 22:30
Добавление класса элементу при прокрутке к этому элементу patriot94 Общие вопросы Javascript 5 18.03.2014 12:41
Как добраться через jquery к элементу? literator Events/DOM/Window 3 25.12.2013 21:45
Как прокрутить переполненный div к внутреннему элементу? Serg_pnz jQuery 0 16.05.2011 17:52