TGViewer
Frontend | Вопросы собесов Frontend | Вопросы собесов @easy_javascript_ru · 17.6K subscribers
Post #690 6.39K
🤔 Где заканчивается js, а где начинается дом ?

JS заканчивается там, где он перестает быть просто набором инструкций и начинает манипулировать DOM, т.е. когда скрипт обращается к элементам страницы (например, через document.getElementById), он начинает взаимодействовать с DOM для изменения структуры, стилей или содержимого веб-страницы.

🚩JavaScript

Используется для создания динамических и интерактивных веб-страниц. Он работает в браузере и на сервере (с помощью Node.js). JavaScript сам по себе не имеет знаний о веб-странице или ее структуре. Он предоставляет синтаксис и базовые возможности для выполнения вычислений, обработки данных, работы с объектами и функциями.

🚩Основные возможности:

🟠Управление переменными и типами данных:
Объявление переменных (var, let, const). Работа с различными типами данных (строки, числа, объекты, массивы).

🟠Управление потоком:
Условные операторы (if, else, switch). Циклы (for, while, do-while).

🟠Работа с функциями:
Объявление и вызов функций. Работа с анонимными и стрелочными функциями.

🟠Объектно-ориентированное программирование:
Создание объектов и классов. Наследование и полиморфизм.

🚩DOM (Document Object Model)

Это программный интерфейс для веб-документов. Он представляет структуру HTML-документа как дерево объектов, которые могут быть изменены скриптами (например, JavaScript). DOM позволяет JavaScript взаимодействовать с HTML-страницей: изменять элементы, стили, атрибуты и содержимое страницы.

🚩Основные возможности:

🟠Доступ к элементам:
Получение элементов по идентификатору(document.getElementById), классу(document.getElementsByClassName), тегу(document.getElementsByTagName), селектору(document.querySelector, document.querySelectorAll).

🟠Изменение структуры документа:
Создание новых элементов (document.createElement). Добавление и удаление элементов (appendChild, removeChild).

🟠Изменение содержимого и атрибутов:
Изменение текста и HTML-содержимого (element.textContent, element.innerHTML). Управление атрибутами (element.setAttribute, element.getAttribute).

🟠События:
Добавление обработчиков событий (element.addEventListener). Создание и отправка пользовательских событий.

🚩Примеры

Изменение содержимого элемента:
<!DOCTYPE html>
<html>
<head>
<title>Пример DOM</title>
</head>
<body>
<div id="myDiv">Исходный текст</div>
<button onclick="changeText()">Изменить текст</button>

<script>
function changeText() {
// Получение элемента DOM
const myDiv = document.getElementById('myDiv');
// Изменение содержимого элемента
myDiv.textContent = 'Измененный текст';
}
</script>
</body>
</html>


Создание и добавление нового элемента:
<!DOCTYPE html>
<html>
<head>
<title>Пример добавления элемента</title>
</head>
<body>
<button onclick="addElement()">Добавить элемент</button>

<script>
function addElement() {
// Создание нового элемента
const newElement = document.createElement('p');
newElement.textContent = 'Новый параграф';

// Добавление нового элемента в DOM
document.body.appendChild(newElement);
}
</script>
</body>
</html>


🚩Граница

JavaScript — это язык программирования, который предоставляет базовые возможности для работы с данными и логикой.
DOM — это интерфейс, который предоставляет структуру HTML-документа и позволяет JavaScript взаимодействовать с этой структурой. Граница между ними можно представить так:

🟠JavaScript:
Работа с данными, логика выполнения, функции, объекты и т.д.

🟠DOM:
Представление HTML-документа как дерева объектов и возможность манипуляции этими объектами через JavaScript.

Ставь 👍 и забирай 📚 Базу знаний
  • 👍 25
  • ❤ 3
  • 🔥 1
More from @easy_javascript_ru
  1. Oct 14, 2026🤔 Зачем создавались библиотеки react и другие? Библиотеки, такие как React, создавались д…
  2. Oct 13, 2026🤔 Что такое репозиторий? Это хранилище кода, файлов и их истории изменений. Используется…
  3. Oct 13, 2026🤔 Как мы можем замерить скорость работы участка кода с date.Now? В JavaScript можно замер…
  4. Oct 12, 2026🤔 Зачем нужен docker? Это инструмент для создания, развертывания и управления контейнерам…
  5. Oct 11, 2026🤔 Для чего нужен тег <noscript>? Он используется для отображения альтернативного контента…
  6. Oct 11, 2026🤔 Какими способами мы можем получить картинку с сервера? В веб-разработке есть разные спо…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →