Как улучшить свой JavaScript код
Некоторые рекомендации и полезные ссылки из сети по преобразованию своего JavaScript кода для начинающего фронтенд разработчика.
Переменные
Правильно именовать переменные: переменные с маленькой буквы именуют, а классы большими. Давайте осмысленные имена.
Обработчики событий
Использование делегирования
Старайтесь не использовать много подобных обработчиков. Можно одним все решить: просто воспользуйтесь делегированием при создании обработчика определенного события и конструкцией switch для определения объекта, который был инициатором события:
var interface = document.getElementById("interface");
interface.addEventListener('input', function (e) {
var target= e.target || e.srcElement // получаем элемент где произошло событие
switch(target.id){
case "hatHarmon" : // для каждого input
aVolume = e.target.value;
break;
case //.....
});
// И проще и быстрее и нагляднее. Вместо мусора ...Button-ов то же самое одним все накрыть.
Одна функция для всех обработчиков событий
Можно вызвать такую функцию, чтобы активировать все прослушиватели событий:
// load all event listners
allEventListners();
// functions of all event listners
function allEventListners() {
document.addEventListener('readystatechange', hidePreloader);
navToggler.addEventListener('click', toggleMenu);
. . .
}
Кэширование данных
Пользуйтесь кэширующими механизмами браузеров для улучшения производительности кода. Не используйте слишком много document.querySelector каждый раз во всем document. Тем самым вы во всем dom дереве осуществляете поиск того, что находится рядом! Намного быстрее будет так:
var interface = document.getElementById("interface");
var hatValume = interface.querySelector("#hatVolume")
tomValue = hatValume.parentElement.nextElementSibling.querySelector("#tomVolume");
getElementById('id') вместо querySelector('#id')
getElementById быстрее чем querySelector('#id') в разы.
Приём программирования «модуль»
https://learn.javascript.ru/closures-module
Для того, чтобы у скрипта была своя собственная область видимости, чтобы его переменные не попали на страницу (в глобальную область видимости), заверните всё его содержимое в функцию, которую тут же запустите.
Файл script.js, оформленный как модуль:
(function() {
// глобальная переменная нашего скрипта
var message = "Привет";
// функция для вывода этой переменной
function showMessage() {
alert( message );
}
// выводим сообщение
showMessage();
}());
Размещение функций
В своем JS функции размещайте предпочтительно после кода, потому что, если сначала идёт код, то становится тут же понятно, что он делает. И тогда возможно даже не понадобится читать функции, особенно если их имена хорошо подобраны.
// --- код, использующий функции ---
let elem = createElement();
setHandler(elem);
walkAround();
// --- вспомогательные функции ---
function createElement() {
...
}
function setHandler(elem) {
...
}
function walkAround() {
...
}
Проверка наличия необходимого объекта
Если в своем скрипте вы обращаетесь к объекту сторонней библиотеки, то лучше вначале проверить наличие необходимого объекта.
Web development: шпаргалка для фронтенд разработчикаОсновные понятия и краткие описания технологий, используемых в веб разработке: препроцессоры, шаблонизаторы, Pug, BEM, JavaScript, Git, Http, Api, Mvc, ООП, Node.js, Npm, Webpack и другие.
Руководства по написанию JavaScript кода
- Google JavaScript Style Guide
- Airbnb JavaScript Style Guide (есть перевод)
- Idiomatic.JS (есть перевод)
- StandardJS
Использованные материалы и рекомендации в сети
- Советы по стилю кода learn.javascript.ru
- Как улучшить код javaScript и подход в целом? qna.habr.com
- 50 советов, которые помогут улучшить код JavaScript https://nuancesprog.ru/p/12743/
- 12 советов по улучшению производительности JavaScript-приложений https://habr.com/ru/company/ruvds/blog/460795/
- Coding Standards and Best Practices https://github.com/stevekwan/best-practices
Pragmatic Standards: JavaScript Coding Standards and Best Practices - clean-code-javascript https://github.com/ryanmcdermott/clean-code-javascript
Пишите в комментариях
А вы какие используете приемы оптимизации JavaScript кода? Пишите в комментариях ниже! Буду рад дополнениям и замечаниям!
Создание качественных сайтов по реальным ценам
- HTML5
- CSS3
- JavaScript
- jQuery
- VueJs
- MODx
- HostCMS
- PrestaShop
- Figma
- Photoshop
- CorelDRAW
Прочитайте еще посты:
-
HostCMS: пошаговая инструкция создания слайдшоу
Как в HostCMS добавить на главную страницу слайдшоу? На форуме HostCMS пишут, что все это очень просто. А так ли это просто для вас?
Подробнее -
Установка HostCMS.Халява: шпаргалка для новичка
Памятка по быстрой установке бесплатной редакции HostCMS.Халява на виртуальный хостинг. Нюансы и ссылки по данной задаче в одном месте!
Подробнее
27 Апреля 2022
Просмотров: 2587
Комментариев: 0
веб разработка, javascript, рецепты
Теги
- веб разработка (14)
- рецепты (12)
- календарь (11)
- сайт под ключ (7)
- сайт-визитка (7)
- сервисы (7)
- javascript (7)
- приложения (7)
- медицина (7)
- prestashop (6)
- cms (6)
- интернет-магазин (6)
- мессенджеры (6)
- php (5)
- блог (5)
- сопровождение сайта (5)
- стандарты (5)
- modx (5)
- продвижение (5)
- веб дизайн (4)
- виджеты (3)
- лендинг (3)
- seo оптимизация (3)
- редиректы (2)
- hostcms (2)
Содержание
Давайте общаться
Я хотел бы поговорить о вашем бизнесе, отправьте мне письмо на make.website.info@gmail.com.
, и умею адаптировать их под конкретные нужды клиента. Я всегда открыт для новых проектов и готов помочь вам создать сайт. Если у вас есть идея, которую вы хотите воплотить в жизнь, не стесняйтесь обращаться ко мне! Я с удовольствием обсужу ваш проект и предложу оптимальное решение.
Loftschool.com (7.10 – 14.11.2019)
Learn.javascript.ru (6.12 – 11.02.2019)
Оставьте свой комментарий!
Комментарии (0)