ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Учебник по JavaScript, ч.2: наблюдатель, выделение, событийный цикл

Прочел шестой раздел «Разное» второй части («Браузер: документ, события, интерфейсы») учебника по JavaScript.

https://learn.javascript.ru

Часть 2. Браузер: документ, события, интерфейсы (в т.ч. 32 подраздела)

Разделы:

6. Разное (3 подраздела)

6.1 MutationObserver: наблюдатель за изменениями
6.2 Selection и Range
6.3 Событийный цикл: микрозадачи и макрозадачи

Этот раздел завершает вторую часть учебника. Сюда, как я понимаю, попали темы, которые не получилось вставить в другие разделы. Но попадание в этот раздел, однако, не делает затронутые темы второстепенными. Здесь рассмотрены достаточно важные вопросы.

В подразделе 6.1 описывается встроенный объект MutationObserver, с помощью которого можно следить за изменениями в любом из узлов DOM-дерева. С помощью параметров можно настроить то, за какими конкретно изменениями в указанном узле следует следить. После получения сигнала об изменениях мы можем обработать эти изменения (или сделать что-то другое) так, как нам будет нужно.

В подразделе 6.2 подробно (с большими примерами кода) описана работа с выделениями на HTML-странице (а также с выделениями внутри элементов HTML-форм). Вообще на HTML-странице можно выделять фрагменты текста, картинки и разные HTML-элементы. Именно об этих «выделениях» идет речь. По-английски «выделение» звучит как «selection».

В подразделе 6.3 рассказано про то, как браузер работает с разными задачами, которые ему приходится выполнять. Все задачи попадают в очередь, из которой их извлекает браузер для обработки. Задачи бывают разного типа: макрозадачи, микрозадачи, задача «рендеринга» (отрисовка HTML-страницы при отображении в окне браузера). Рассказано, как и в каком порядке браузер выполняет разные типы задач. По-моему, очень интересная тема. Для лучшего понимания, думаю, следует перечитать хотя бы подразделы 11.2 «Промисы» и 11.7 «Микрозадачи» из первой части учебника, а еще лучше — перечитать весь раздел 11 «Промисы, async/await» первой части учебника.

Больших и интересных задач к этому разделу не завезли, есть только маленькая задачка-вопрос к подразделу 6.3. Зато много больших примеров кода, которые можно скопировать себе в редактор и погонять в браузере для лучшего усвоения.
Tags: Образование, Программирование
Subscribe

  • JavaScript: Blob

    Прочел подраздел 2.3 « Blob» третьей части учебника по JavaScript. Для меня эта статья оказалась настолько объемной в плане нового, что ее разбор…

  • Сказка про двоичные данные, кодировку Windows-1251 и Юникод

    Вопрос из комментариев к подразделу 2.3 « Blob» третьей части учебника по JavaScript, цитата: Не могу найти способ выдавать файл с кодировкой…

  • Как работает кодирование Base64, окончание

    Начало: « Как работает кодирование Base64». Пример второй. « Картинка-смайлик» В предыдущем примере кусок двоичных данных, содержащий текст,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments