Добрый день, мучает вопрос. Как правильно и когда вызывать функцию, я делаю так, если сайт не одностраничный, то при добавлении событий на какой либо элемент, при не на ходе, будет выдаваться ошибка в консоли, поэтому я создаю функцию, и добавляю условие, по типу if("Элемент на определенной странице") { функция() }
Правильно ли это? Функции различного рода, по типу табов, аккордеонов и т.п.
Евгений Бабенко, неоднозначно: так при визите на одну страницу грузятся еще и ненужный объём скриптов.
Не знаю наверняка-лучшей практики для этого. Ещё вариант: прописать индивидуальные инициализаторы для каждой страницы и при её загрузке вызывать соответствеющий:
// общий script.js
function a() {...}
function b() {...}
function c() {...}
function init(pageId) {
switch(pageId) {
case 1: // одна страница
a();
b();
break;
case 2: // другая
a();
break;
case 3:
c();
b();
break;
}
}
// конец общего скрипта
// в HTML 2-й странице в конце: <script>
init(2);
// </script>
Руководитель frontend направления, предприниматель
Если ты пишешь на ванильке и не собираешь билды для разных страниц, либо у тебя на одной сборке может как присутствовать, так и отсутствовать нужный элемент, то подход нормальный.
Но вообще я бы рекомендовал либо отдельные сборки, либо фреймворки, в которых есть, как ленивая подгрузка, так и из коробки отрисовка и удаление элементов.