Стандарты и лучшие практики jQuery [закрыты]
-
12-09-2019 - |
Вопрос
В настоящее время я отвечаю за распространение использования jQuery среди сообщества веб-разработчиков в нашей компании.Частично это включает в себя презентацию курса, однако другая часть включает в себя распространение стандартов и передовой практики.
Если вы загуглите "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 и тех, кто, возможно, оказался в таком же положении, как и я.Любые хорошие ссылки также были бы оценены.
Редактировать:
Добавлен раздел стандартов кодирования jQuery на моей собственной странице:
Решение
Вы можете найти эту актуальную тему прямо здесь, в StackOverflow.com
Подводные камни jQuery, которых следует избегать
Очень интересные полезные советы один за другим.
вот еще некоторые, которые я нашел в своих закладках:
- http://paulirish.com/2011/11-more-things-i-learned-from-the-jquery-source/
http://jquery.open2space.com/http://thetoptenme.wordpress.com/2008/08/19/the-complete-guide-for-jquery-developer-reblog/http://www.tvidesign.co.uk/blog/improve-your-jquery-25-excellent-tips.aspx
Другие советы
То, что я лично начал делать, является своего рода Приложения Венгерская Нотация для наборов jQuery, добавляя к этим переменным префикс $
var someInt = 1;
var $someQueryCollection = $( 'selector' );
Я обнаружил, что по мере роста моих фрагментов jQuery это становится бесценным не только для продвижения хранения наборов jQuery в качестве переменных, но и для того, чтобы помочь мне отслеживать, какие переменные на самом деле являются Наборы jQuery.
Ненавязчивый JavaScript (разделение разметки и поведения)
В те далекие времена было обычным делом помещать обработчик кликов внутрь разметки.Теперь рекомендуется, чтобы вы не писали свой JS-код внутри своей разметки, а включали его через события DOM.
Прогрессивное улучшение
Пользователь получает лучший опыт, если он использует браузер, соответствующий стандартам, и / или у него включен JavaScript.Веб-сайт / веб-приложение по-прежнему доступны, даже если у них более старый браузер или JS отключен.
Обнаружение функций, а не обнаружение браузера
Оставляя в стороне вышеперечисленные моменты, я бы действительно сосредоточился на передаче сообщения (разрушении предвзятого представления) о том, что JavaScript - это игрушечный язык.Я видел слишком много разработчиков, которые думают таким образом, и с этого момента все идет под откос.Вам нужно объяснить им, что JavaScript - очень мощный язык и зачем им нужна библиотека JS (из-за несоответствий браузера), хотя JS сам по себе очень мощный.
Удачи.
Способ, которым работает 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);
});
так как это ускорит вашу работу.