JavaScript in the browser
A course about how a page starts answering back. We take the markup you already write and add behaviour: events, working with the DOM, data from a server — without a single library. By the end the catalogue from the markup course filters, the cart lives in localStorage, and you understand every line because you wrote it yourself.
What you will be able to do
9 modules, one project
01 Your first script3 lessons · 2 h 16 minOpen
We attach JavaScript to a finished page and read the console from the very first lesson — because errors start before results do.
02 Variables, conditions and functions4 lessons · 3 h
Basic syntax straight on page tasks: we add up a cart total and hide blocks instead of solving abstract exercises.
03 The DOM: finding elements and changing them4 lessons · 2 h 56 min
The page as the script sees it: the node tree, finding elements and carefully changing what a person sees.
04 Events: click, input, form submit4 lessons · 2 h 52 min
How the browser reports a person's actions, and why one handler for a list beats twenty identical ones.
05 Arrays and objects: interface data3 lessons · 2 h 20 min
The catalogue as an array of objects: we iterate, filter and sort the data, and build the markup out of it afterwards.
06 Widgets without libraries3 lessons · 2 h 16 min
Tabs, a modal and an accordion by hand — so you know what ready-made components actually do for you.
07 Asynchrony: promises and async/await4 lessons · 2 h 52 min
Why code does not wait, and how that stops being a mystery: timers, promises and a syntax that reads top to bottom.
08 Server data: fetch and JSON3 lessons · 2 h 12 min
We pull the catalogue from a server and honestly show the person loading, an empty answer and a dropped connection.
09 localStorage, modules and the final project4 lessons · 3 h 16 min
We put it all together: the cart survives a reload, the code is split across files, the project is ready to show.
What you get
Videos with timecodes and a written version: the code from a lesson can be copied instead of retyped off the screen.
The same project you built in «Markup without magic» — behaviour is added to your own work, not to someone else's demo.
An address with products, a delayed response and an error mode, so you can practise loading and failure handling on live data.
Finished code for every module plus cards on array methods, events and DOM work — to check against after the practice.
The whole first module is open
Watch the lessons of the first module and the first task. If the format does not suit you, you have lost nothing.
