Bliss.js является легковесной библиотекой для работы с DOM и упрощения манипуляций с элементами веб-страницы. Ключевым аспектом её использования является строгая структура передаваемых параметров и понимание возвращаемых значений методов.
В большинстве функций Bliss.js используются следующие типы параметров:
Селекторы и элементы
Параметром может быть CSS-селектор (string) или
объект HTMLElement.
Например, метод Bliss.$ принимает селектор и
возвращает первый элемент, соответствующий условию.
const button = Bliss.$('#submit');В случае передачи HTMLElement функции обрабатывают
его напрямую, минуя поиск в DOM.
Объекты конфигурации
Многие методы принимают объект с опциями, позволяя задавать несколько параметров сразу.
Пример для метода Bliss.on:
Bliss.on(button, {
click: () => console.log('Нажатие'),
mouseover: () => console.log('Наведение')
});Ключи объекта — названия событий, значения — функции-обработчики.
Функции обратного вызова (callback)
Bliss.js активно использует callback-функции для обработки событий и асинхронных операций.
Callback может принимать аргументы, автоматически передаваемые библиотекой, например событие или индекс элемента:
Bliss.$$('.items').forEach((el, idx) => console.log(el, idx));Bliss.js поддерживает работу как с одиночными элементами, так и с коллекциями элементов. При этом параметры и возвращаемые значения ведут себя различно:
Методы, работающие с одиночным элементом
Возвращают конкретный HTMLElement или значение
свойства.
Например:
const text = Bliss.$('#title').textContent;Методы для коллекций
Bliss.$$('.items'), возвращают
Array, даже если найден один элемент.map,
filter и forEach.Bliss.js строго структурирует возвращаемые значения для удобства цепочек вызовов:
Цепочки вызовов
Большинство методов возвращают либо сам элемент, либо коллекцию элементов, что позволяет строить цепочки:
Bliss.$('#container')
.addClass('active')
.setAttribute('data-loaded', 'true');Значения свойств
При получении значения конкретного свойства метод возвращает
примитивное значение (string, boolean,
number) вместо объекта.
const isVisible = Bliss.$('#menu').visible;Булевы значения
Проверка состояния элемента или события возвращает логический тип:
const hasClass = Bliss.$('#item').hasClass('highlight');Bliss.js не использует строгую типизацию TypeScript по умолчанию, но соблюдение правильного типа параметров критично для корректной работы функций:
Bliss.js включает встроенные проверки:
null.Использовать объекты конфигурации для группировки параметров.
Предпочитать селекторы над прямыми элементами только при необходимости поиска.
Проверять возвращаемые значения перед применением методов коллекции:
const items = Bliss.$$('.item');
if (items.length > 0) {
items.forEach(el => el.addClass('visible'));
}Для методов, возвращающих примитивные значения, избегать применения цепочек без обертки элемента.
Понимание правил передачи параметров и обработки возвращаемых значений позволяет максимально эффективно использовать Bliss.js, строить надёжные цепочки вызовов и предотвращать ошибки при работе с DOM.