Использование MutationObserver для отслеживания изменений DOM-элементов
JavaScript test
MutationObserver позволяет отслеживать изменения в DOM-структуре и реагировать на них в коде.JavaScript test
Использование Proxy для валидации объектов
JavaScript test
Proxy позволяет перехватывать и изменять операции над объектом, в данном случае используется для валидации значений.JavaScript test
Замыкания
Функция
JavaScript test
Функция
inner является замыканием, так как она может получить доступ к переменной outerVar из внешней функции outer.JavaScript test
includes()
Этот метод определён у массивов и строк.
Для массивов: проверяет, есть ли искомый элемент в массиве.
Для строк: проверяет, есть ли искомая подстрока в строке.
Возвращает
JavaScript test
Этот метод определён у массивов и строк.
Для массивов: проверяет, есть ли искомый элемент в массиве.
Для строк: проверяет, есть ли искомая подстрока в строке.
Возвращает
true, если искомый элемент нашёлся и false — если нет.JavaScript test
Применение для fixed позиционирования
Чаще всего нам нужны координаты для позиционирования чего-либо.
Чтобы показать что-то около нужного элемента, мы можем вызвать
Например, функция
JavaScript test
Чаще всего нам нужны координаты для позиционирования чего-либо.
Чтобы показать что-то около нужного элемента, мы можем вызвать
getBoundingClientRect, чтобы получить его координаты элемента, а затем использовать CSS-свойство position вместе с left/top (или right/bottom).Например, функция
createMessageUnder(elem, html) выше показывает сообщение под элементом elem.JavaScript test
Использование WebGL для создания интерактивных 3D-график в веб-приложениях
WebGL позволяет создавать интерактивные 3D-графики в веб-приложениях, и библиотека Three.js упрощает этот процесс.
JavaScript test
WebGL позволяет создавать интерактивные 3D-графики в веб-приложениях, и библиотека Three.js упрощает этот процесс.
JavaScript test
Element
Из
JavaScript test
Элемент — это кусочек HTML в DOM-дереве. Браузер создаёт DOM для взаимодействия между JavaScript и HTML. Каждый HTML-тег при этом превращается в элемент DOM. Ещё такие элементы называют узлами.Из
DOM можно получить элемент и имзенить его. Браузер заметит изменения и отобразит их на странице.JavaScript test
Использование LocalStorage для хранения данных на стороне клиента
LocalStorage предоставляет простой способ хранения данных на стороне клиента, которые могут быть доступны после перезапуска браузера.
JavaScript test
LocalStorage предоставляет простой способ хранения данных на стороне клиента, которые могут быть доступны после перезапуска браузера.
JavaScript test
Не window.innerWidth/Height
Браузеры также поддерживают свойства
Если есть полоса прокрутки, и она занимает какое-то место, то свойства
А
Если полоса прокрутки занимает некоторое место, то эти две строки выведут разные значения.
JavaScript test
Браузеры также поддерживают свойства
window.innerWidth/innerHeight. Вроде бы, похоже на то, что нам нужно. Почему же не использовать их?Если есть полоса прокрутки, и она занимает какое-то место, то свойства
clientWidth/clientHeight указывают на ширину/высоту документа без неё (за её вычетом). Иными словами, они возвращают высоту/ширину видимой части документа, доступной для содержимого.А
window.innerWidth/innerHeight включают в себя полосу прокрутки.Если полоса прокрутки занимает некоторое место, то эти две строки выведут разные значения.
JavaScript test