Re[6]: Стиль программирования в JavaScript
От: silverwolf  
Дата: 20.06.12 20:19
Оценка:
Здравствуйте, Temoto, Вы писали:

T>>>Собственно, в том же jQuery можно сделать $("<div class=foo><div id=bar>...") в один шаг.


vsb>>Это парсинг строки на джаваскрипте == тормоза, за такой код в библиотеке надо расстреливать. В своём джаваскрипте на здоровье, а библиотека не должна вносить тормоза на ровном месте.


T>Я думал, что такую строку jQuery отдаст браузеру через innerHTML. Если нет, то "не делайте так"

Вроде даже лучше, через createDocumentFragment. Это может быть даже быстрее если в html-е тяжелые стили. Я помню, когда тестировал то однозначного ответа не получил:


* Данные где-то 1-1,5 годичной давности.
Re[6]: Стиль программирования в JavaScript
От: vsb Казахстан  
Дата: 20.06.12 20:29
Оценка:
Здравствуйте, silverwolf, Вы писали:

S>Здравствуйте, vsb, Вы писали:


vsb>>Здравствуйте, Temoto, Вы писали:


T>>>Собственно, в том же jQuery можно сделать $("<div class=foo><div id=bar>...") в один шаг.


vsb>>Это парсинг строки на джаваскрипте == тормоза,

S>Если бы все было так просто
S>Суть в том, что код из оригинала топика активно работает с ДОМом, то есть может вызывать repaint/reflow/relayout/restyle. Пример Temoto, скорее всего, будет работать через DocumentFragments. И это вполне может перекрыть все "тормоза" парсинга строки, которые в современных браузерах не такие уж и тормоза. На небольших фрагментах эти "тормоза" будут не заметны, а вот вставки по элементно в ДОМ могут быть заметны даже на 5-10 элементах.

Там же новый элемент создаётся, нет там никакого reflow.
Re[6]: Стиль программирования в JavaScript
От: vsb Казахстан  
Дата: 20.06.12 20:32
Оценка: 3 (1)
Здравствуйте, dimgel, Вы писали:

T>>>Собственно, в том же jQuery можно сделать $("<div class=foo><div id=bar>...") в один шаг.


vsb>>Это парсинг строки на джаваскрипте == тормоза, за такой код в библиотеке надо расстреливать. В своём джаваскрипте на здоровье, а библиотека не должна вносить тормоза на ровном месте.


D>Если скорость критична, то и $('<div/>') тоже недопустим, да и jquery вообще, а document.createElement() — наше всё.


Случай вида $("<div>") обрабатывается отдельно и накладных расходов там минимум.
Re[7]: Стиль программирования в JavaScript
От: silverwolf  
Дата: 20.06.12 20:46
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Там же новый элемент создаётся, нет там никакого reflow.

Таки не заметил что он сначала создается, а потом вставляется, сорри.
Re[3]: Стиль программирования в JavaScript
От: boot  
Дата: 21.06.12 03:40
Оценка:
Здравствуйте, pose, Вы писали:

P>ну т.е. в jQuery — это образец как обычно пишется код?


В самом jQuery много очень познавательных примеров использования JS, но это как книжка по дзен -- нельзя воспринимать буквально.
Обычно, в системном программировании, главным являются алгоритмы и структуры данных.

P>зы. а что вместо джеквери предложить можете? вот мне нужна фотогаллерея на сайте


Вот это самая правильная постановка вопроса. Для Вашей задачи вряд ли является критичным выбор.
О том, что далее спорить не буду.
Вообще, не могу предложить, почти ничего, совсем нет желания тратить время на устаревшие, по моему мнению, приемы (в этом и смысл движения, не западать окончательно на одном), а то, что актуально сейчас, никак не могу разглашать. Если попросите у мыщъх ссылку на на то, о чем он писал здесь
Автор: мыщъх
Дата: 21.06.12
, Вам может повезти.
Веб -- это не только фотогаллереи. Как Вы работаете с фотками и пр. локально? Представьте, что точно так же можно и через веб.
Жизнеспособность прямо пропорциональна простоте!
Re[3]: Стиль программирования в JavaScript
От: boot  
Дата: 21.06.12 05:23
Оценка:
Здравствуйте, pose, Вы писали:

P>ну т.е. в jQuery — это образец как обычно пишется код?

P>зы. а что вместо джеквери предложить можете? вот мне нужна фотогаллерея на сайте

Вспомнил случай, поэтому копну глыбже.

Десяток лет назад ко мне обратился один паренек с такой просьбой: "-- Мне бы хотелось научиться говорить как Вы."
Это сбило меня с толку, не знал что ответить, поэтому написал ему: "Приходите, что нибудь придумаем".
Оказался он типичным сангвиником, и интересовало его только одно -- "Как?". А я никогда не обращал внимания на то как говорю и пишу, гораздо важнее было _что_ говорю, пишу и думаю. Не случись такой просьбы, даже не задумался бы об этом.
В итоге дал ему книжку Дейла Карнеги, мне она не нужна, а ему идеально подходила, да и написана легко, что не маловажно. Но он ее не осилил, вернул через пару недель.

Так вот, копайте глыбже, нечего парить голову вопросом "Как?".
Жизнеспособность прямо пропорциональна простоте!
Re[3]: Стиль программирования в JavaScript
От: Nikita123 Россия  
Дата: 21.06.12 13:09
Оценка:
Здравствуйте, silverwolf, Вы писали:

S>Здравствуйте, Пацак, Вы писали:


П>>Здравствуйте, pose, Вы писали:


П>>Javascript + jquery — это очень читабельно, понятно и просто! (с) Mamut

S>Проблемы не в языках, а в головах (c) Не_помню_кто
Вообще-то, "проблемы не в сортирах, а в головах" — это фраза профессора Преображенского
из "Собачьего сердца" Михаила Булгакова.
Желаю успеха,
Никита.
Re: Стиль программирования в JavaScript
От: femidav  
Дата: 21.06.12 14:15
Оценка:
Здравствуйте, pose, Вы писали:

P>Привет.


P>Не приходилось ковыряться в готовых javascript фрейморках. обычно просто подключал и юзал.

P>но вот захотел в lightbox поменят 2 дива местами. открыл js файл и ахнул

P>скажите это нормальные стиль писания на жаваскрипте?

P>по мне после с++ разит глаза кол-во скобок и все одним куском

P>
говнокод потерт


Автор говнокода просто не умеет программировать и не знает jQuery.
Диалоги делаются в одну строку: $('#LightboxTemplate').tmpl(data).dialog(options);
Обработчики навешиваются один раз: $(document).on('click', '.handlerOpenMyXxx', openMyXxx);
Re: Стиль программирования в JavaScript
От: dotneter  
Дата: 21.06.12 18:59
Оценка: +1
Здравствуйте, pose.
Имхо, правильно делать как то так.

Div("lightbox"
  Div("lb-outerContainer",
    img().Class("lb-image"),
      Div("lb-nav",
         a().Class("lb-prev")    
...
Rojac v0.1 / rev. 899
Talk is cheap. Show me the code.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.