10 отличных функций на JavaScript

CalvinStew

Пролетарий
24
42
1 Апр 2017
3, 2 и 1) getCookie(), setCookie(), deleteCookie()
В javascript нет способа нормально работать с cookie без дополнительных функций. Не знаю, кто проектировал document.cookie, но сделано на редкость убого.
Поэтому следующие функции или их аналоги просто необходимы.
Последняя, но зачастую полезная: функция byId
Она позволяет функции работать одинаково при передаче DOM-узла или его id.

10) addEvent()
Несомненно, важнейший инструмент в управлении событиями! Вне зависимости от того, какой версией вы пользуетесь и кем она написана, она делает то, что написано у неё в названии: присоединяет к элементу обработчик события.

9) onReady()
Для инициализации страницы исторически использовалось событие window.onload, которое срабатывает после полной загрузки страницы и всех объектов на ней: счетчиков, картинок и т.п.

8) getElementsByClass
Изначально не написана никем конкретно. Многие разработчики писали свои собственные версии и ничья не показала себя лучше остальных.
Следующая функция использует встроенный метод getElementsByClass, если он есть, и ищет элементы самостоятельно в тех браузерах, где этого метода нет.

7) addClass() / removeClass()
Следующие две функции добавляют и удаляют класс DOM элемента.

6) toggle()
Если быть честным, наверное для этой функции существует больше различных вариантов, чем было бы нужно.
Этот вариант никоим образом он не претендует на звание универсальной функции-"переключателя", но он выполняет основную функциональность показывания и спрятывания.

5) insertAfter()
Как и getElementsByClass, этой функции почему-то нет в стандарте DOM. Возможно, чтобы избежать дублирования функционала, т.к. insertAfter реализуется всего одной строчкой.

4) inArray()
Очень жаль, что это не часть встроенной функциональности DOM. Зато теперь у нас есть возможность всё время вставлять такие вот замечания! Для поиска эта функция использует проверку ===, которая осуществляет поиск по точному сравнению, без приведения типов. Метод Array.prototype.indexOf поддерживается не во всех браузерах, поэтому используется, если существует.