Стандарты и передовая практика jQuery

В настоящее время я отвечаю за внедрение jQuery в сообщество разработчиков веб-сайтов в нашей компании. Часть этого включает в себя представление курса, однако другая часть предполагает передачу стандартов и передовой практики.

Если вы используете Google 'jQuery best practice', вы, вероятно, найдете следующее среди результатов поиска. http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/ http://www.artzstudio.com/2009/04/jquery-performance-rules/

Они были полезны, и я получил много полезной информации о них. Тем не менее, меня бы интересовали бы любые подсказки, ловушки, мнения и т.д. В отношении лучшей практики от опытных разработчиков jQuery и тех, кто мог оказаться в подобной позиции для меня. Любые хорошие ссылки также будут оценены.

EDIT:

Добавлен раздел "Стандарты кодирования jQuery" на моей странице:

http://www.jameswiseman.com/blog/?p=48

Ответ 1

Вы можете найти эту тему обсуждения здесь, в StackOverflow.com

Ловушки jQuery, чтобы избежать

Очень интересные полезные советы один за другим.

вот еще несколько я нашел в своих закладках:

Ответ 2

Что-то, что я лично начал делать, это своего рода Apps Hungarian Notation для наборов jQuery, префикс этих переменных с помощью $

var someInt = 1;
var $someQueryCollection = $( 'selector' );

Я нахожу, что по мере того как мои фрагменты jQuery растут, это становится неоценимым, не только в продвижении хранения наборов jQuery в качестве переменных, но и в том, чтобы помочь мне отслеживать, какие переменные на самом деле являются наборами jQuery.

Ответ 3

Ненавязчивый JavaScript (разделение разметки и поведения)

В те дни, обычно было установлено, что ваш обработчик кликов находится внутри разметки. Теперь он рекомендовал вам не писать код JS внутри вашей разметки, а включать его через события DOM.

Прогрессивное улучшение

Пользователь получает лучший опыт, если использует браузер, совместимый со стандартами, и/или включен JavaScript. Веб-приложение/веб-приложение по-прежнему доступно, даже если у них есть более старый браузер или отключен JS.

Обнаружение функций, а не обнаружение браузера

Сохраняя вышеизложенные замечания, я бы действительно сосредоточился на передаче сообщения (нарушающем заранее задуманное понятие), что JavaScript - это игрушечный язык. Я видел слишком много разработчиков, которые так думают, и оттуда все идет вниз. Вам нужно объяснить им, как JavaScript является очень мощным языком и почему им нужна библиотека JS (из-за несогласованности браузера), хотя сам JS очень мощный.

Удачи.

Ответ 4

Способ работы jQuery не совпадает с тем, как работает JavaScript, даже если он один и тот же. jQuery работает с CSS-селекторами, такими как имя класса и идентификатор элементов. Чтобы выбрать элемент в jQuery, выполните следующие действия:

$("#yourID") or $(".yourClass") or $("div") or $("#yourID p") etc

И вы получите коллекцию всех элементов на странице, которые соответствуют вашим критериям. Затем вы можете выполнять свои действия на ВСЕХ этих элементах без каких-либо циклов. Это важно помнить:

$(".yourClass").click(function(){
    //do stuff
});

будет влиять на все элементы с прикрепленным к ним элементом .yourClass. Один совет: если вы собираетесь получить доступ к $(this), вы должны сохранить его как локальную переменную:

$(".yourClass").click(function(){
    var $this = $(this);
});

поскольку это ускорит вашу функцию.