Register to get access to free programming courses with interactive exercises

Introduction JS: DOM API

What actually is frontend development?

Modern websites have a high degree of interactivity. Pages are reloaded less and less often, and changes to content occur right on the spot. Software solutions have become so complex that full-fledged development environments (for example, a Hexlet editor), programs like Photoshop, and packages similar to Microsoft Office are already being implemented in browsers. Browser games are a huge industry. Moreover, thanks to hardware support, these games are no worse than what you can play on a regular desktop.

A language that was originally used as a way to add snowflakes to a website has now become a powerful tool in the hands of professionals. To date, JavaScript is the only language that can be executed by browsers.

However, one language is not enough to bring a page to life. The browser should provide a way to manage both the pages and the browser itself. Most of these features are standardized and described in HTML5 specifications. Some of them are:

  • Page content manipulation
  • Managing appearance
  • Reacting to user actions
  • Working with cookies
  • Browser control (address bar, navigation, history)
  • Interaction with the server
  • Video playback
  • Input/Output. Interacting with file systems and networks
  • 2D/3D drawing

From the language's perspective, most of these features look like sort of like global objects that you can interact with in the program. The most basic and key object of this system is the DOM tree.

In this course, we'll learn how to implement js on a website, go through the main ways of modifying a page, get acquainted with polyfills, make our first ajax request, and discover the world of events.

After this course, you'll be able to try your hand at creating simple frontend games (in the practice after the course).


This course is dedicated to animating pages in browsers using JavaScript. This course assumes that you've previously studied JS, either in Hexlet or with another service.

Hexlet Experts

Are there any more questions? Ask them in the Discussion section.

The Hexlet support team or other students will answer you.

About Hexlet learning process

For full access to the course you need a professional subscription.

A professional subscription will give you full access to all Hexlet courses, projects and lifetime access to the theory of lessons learned. You can cancel your subscription at any time.

Get access
hours of theory

Sign up

Programming courses for beginners and experienced developers. Start training for free

  • 130 courses, 2000+ hours of theory
  • 1000 practical tasks in a browser
  • 360 000 students
By sending this form, you agree to our Personal Policy and Service Conditions

Our graduates work in companies:

<span class="translation_missing" title="translation missing:">Bookmate</span>
<span class="translation_missing" title="translation missing:">Healthsamurai</span>
<span class="translation_missing" title="translation missing:">Dualboot</span>
<span class="translation_missing" title="translation missing:">Abbyy</span>
Suggested learning programs

From a novice to a developer. Get a job or your money back!

Frontend Developer icon
Development of front-end components for web applications
start anytime 10 months

Use Hexlet to the fullest extent!

  • Ask questions about the lesson
  • Test your knowledge in quizzes
  • Practice in your browser
  • Track your progress

Sign up or sign in

By sending this form, you agree to our Personal Policy and Service Conditions
Toto Image

Ask questions if you want to discuss a theory or an exercise. Hexlet Support Team and experienced community members can help find answers and solve a problem.