Стандарты и передовая практика 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);
});
поскольку это ускорит вашу функцию.