Изучение jQuery + лучших практик за 24 часа

Это может казаться невозможным, но читать дальше.

Мне нужно немного научиться jQuery, чтобы поддерживать текущее состояние и быть в состоянии убедить работодателя, я могу справиться с ним в течение менее 2 дней.

Теперь я должен упомянуть, что я действительно знаю javascript. Это немного двусмысленный вид заявления, но, хотя я не Дуг Крокфорд, я, конечно, не имею в виду, что я могу просто переключить видимость элемента с помощью встроенного кода. Я бы зашел так далеко, чтобы сказать, что я ОЧЕНЬ знаком с MooTools, прочитал его исходный код и выключил его для последних 3 лет, а также многих плагинов MooTools.

Теперь, помогая в SO теге MooTools, я случайно взял много кода jQuery. И есть страница документа API, это достаточно справедливо - пока я хочу работать с DOM, AJAX, событиями и т.д., Я могу найти свой путь. Это не то, о чем идет речь.

Я получаю очень специфические ресурсы и руководства/примеры хорошо организованного и хорошо написанного кода для jQuery. Например, меня интересуют (но не ограничиваясь):

  • особенности, связанные с API, например..bind!= привязка ECMA
  • ограничения, такие как атрибуты элементов (.attr?) + обходные пути для свойств и других подводных камней
  • производительность селектора (если Sizzle отличается от Slick) и...
  • ... кеширующие селектора - это работает, как и как jQuery возвращается сам.
  • лучшие практики по удобочитаемости и написанию легко следовать и понимать код спагетти
  • лучшие практики написания плагинов - как структурировать, есть ли общие/принятые/предпочтительные номенклатуры и т.д., т.е. эквивалент jQuery это руководство по mootools
  • Есть ли лучший способ справиться с наследованием в классическом смысле ООП? Я знаю moo4q, но предположим, что хочу сделать это без помощи mootools на мгновение. И да, я знаю, что я все еще могу использовать чистый javascript для основных вещей.
  • Есть ли какие-либо специфические отличия в API (помимо смены строки), мне нужно знать разные версии jQuery?
  • ГХ. вы делаете, удаляете ли вы события, узлы и т.д.?
  • чтобы избежать. например, я видел, как ppl жалуется на твиттер, что хранение элементов происходит медленно.
  • советы по структурированию надлежащего "на уровне предприятия или почти достаточного" jQuery-приложения _application__ (я знаю, я знаю - Dojo, ExtJS или даже MooTools, но это возможно с помощью jQuery, так? клянутся им и утверждают, что сделали это...)
  • думаю, что мне нужно читать, чтобы начать работу

Имея это в виду, я хотел бы просто ссылки на учебные пособия или статьи или даже сообщения здесь, на SO, которые могут охватывать упомянутые области и расширенную разработку jQuery.

Некоторые избранные плагины, написанные уважаемыми/известными авторами, также будут оценены, особенно те, которые отличаются тем, как они организованы и легко расширяются. С таким большим количеством на выбор большинство, вероятно, мало прошло за фазой hello spaghetti world, поэтому я не хотел бы использовать их в качестве примеров, на которых можно было бы основать мою собственную работу. Я не из-за плагинов, которые поддерживаются дизайнерами, так как они довольно эффектные, я хочу примеры довольно кода.

Что об этом. Любая помощь оценена - начнется чтение в воскресенье и вам нужно будет написать расширяемый плагин, подобный этому классу modal/lightbox для mootools, который я написал через 2-3 часа несколько дней назад. Я хотел бы преобразовать его в jQuery как упражнение, не делая его менее модульным/расширяемым: http://jsfiddle.net/dimitar/6creP/

Спасибо заранее, постараюсь ответить всем, кто отвечает также

Ответ 1

jQuery очень похож на то, что он предлагает MooTools, но очень отличается тем, как он предлагает эти вещи. MooTools очень ясен и требует более глубокого понимания того, как некоторые вещи работают под капотом, а jQuery скрывает эту сложность. По моему мнению, сложность сокрытия следует принципу 80-20, и когда абстракция протекает в 20% случаев, понимание внутренней работы становится важным.

Хорошее понимание MooTools внутри и снаружи должно помочь вам легко подобрать jQuery. Некоторыми примерами этого явного поведения было бы то, как jQuery обертывает один и несколько элементов под зонтиком $, а MooTools предоставляет явный интерфейс для обоих с $ и $$.

При вызове AJAX для собственного домена или внешних доменов с помощью JSONP jQuery маршрутизирует все через функцию $.ajax, а MooTools снова имеет отдельные интерфейсы для Request и Request.JSONP.

Ни один из подходов не является хорошим или плохим, но повторное использование тех же интерфейсов, которые большинство уже знакомы с уменьшением кривой обучения.

Некоторые хорошие ресурсы для дайвинга в jQuery будут,

В отношении организации кода большинство кода, написанных для jQuery, сильно отличаются от MooTools. В то время как MooTools использует классический стиль, используя классы и объекты, код jQuery в основном имеет DOM-ориентированный характер. Поэтому даже с настраиваемыми плагинами вы будете прикреплять данные к элементам DOM. Чтобы увидеть некоторые практически реальные примеры DOM-ориентированного подхода, вы можете посмотреть видео, связанное с этим .

Я бы не стал беспокоиться о производительности движка селектора, поскольку это в основном красно-селедка, если вы не пишете Excel для Интернета или что-то в этом роде.

Ответ 2

Вам повезло. То же случилось со мной и прочитал книгу " Jquery in Action, 2nd Edition" через 3 дня. Это отличная книга. Я думаю, вы можете закончить через 1 день всю секцию ядра jQuery (более половины книги), это самая важная проблема.

Угадайте, что. Я получил работу:) (Я узнал больше, пока я уже был на работе, но этого было достаточно, чтобы показать, что я знал jquery хе-хе)

Ответ 3

Основы jQuery, книга со многими вкладчиками, которые пользуются большим уважением в сообществе, легко впитываются через пару дней и полностью бесплатны онлайн!

http://jqfundamentals.com/book/

Ответ 4

относительно новый для jQuery сам, и полный noob для JS, я бы сказал, что у вас есть начальный старт;)

Как вы с CSS? - механизм селектора CSS (Sizzle) с jQuery - это кусок торта, если вы знаете свой CSS, и насколько я знаю, вы можете использовать "старомодный";) JS тоже

Я также думаю, что у вас будет преимущество, если вы знаете свои "ошибки" CSS, которые, как я думаю, вы будете делать, например. анимация с использованием jQuery не является волшебным лекарством для любых ошибок, но терминология slideUp(), hide() и т.д., конечно же, облегчает... но если бы эффект вызвал ошибку CSS без JS, он все равно сделает это через jQuery и возможно, такие вещи, как removeAttr() ошибка, могут быть что-то, что можно было бы легко сделать в JS (если вы так хорошо осведомлены)

Я не знаю, как легко или сложно найти такие вещи, но когда я нахожусь learning cramming, я, как правило, смотрю на все вопросы (здесь и на форумах), независимо от того, простой или базовый "Я думаю, что они есть, то, вставив код и попробовав другие ответы, а затем, чтобы поисковые системы направляли меня, вы обычно получаете доступ к корню и делаете открытия, которые можно добавить в панель знаний.

например. сегодня этот вопрос научил меня чему-то.. Полагаю, это зависит от того, сколько вам нужно учиться за 2 дня! Удачи!