
Begin your hands-on journey to web development by learning JavaScript fundamentals in plain HTML, CSS, and JavaScript, with in-browser testing, DOM interaction, and event handling; no frameworks.
JavaScript is a browser-based language that adds behavior to web pages. It runs in the browser after HTML and CSS, through a single-threaded engine, enabling dynamic updates and user interactions.
Set up a web JavaScript project by creating index.html, style.css, and script.js, load the script at the bottom of the body, and view console output with a live server.
Learn how to declare variables with let and const, store values, and explore data types such as numbers, strings, booleans, null, and undefined, using JavaScript's type-checking syntax.
Explore JavaScript operators, including arithmetic, assignment, and comparison operators. Use logical operators and if statements to make decisions in interactive web code.
Master conditionals in JavaScript with if else, else if, and else, including chaining and nesting, plus logical operators to drive interactive web pages.
Learn to declare and call functions in JavaScript to group reusable logic, use parameters, and return values. See greetings with template strings and console output, and preview DOM interactions later.
Explore the DOM, the document object model that lets JavaScript access and modify HTML. See how the browser builds a tree of nodes to enable dynamic, interactive web pages.
Learn how to select DOM elements with JavaScript using getElementById, querySelector, and querySelectorAll, targeting by id, class, and CSS selectors to drive page interactions.
Learn to change page content and styles with JavaScript by updating textContent, injecting HTML with innerHTML, and toggling CSS classes via classList.
Explore how to build interactive web pages by listening for user events with addEventListener, updating the document object model, and toggling classes.
Explore arrays and objects to manage data collections in JavaScript, accessing values by index or dot and bracket notation, and working with arrays of objects like users.
Learn how to use loops in JavaScript to run code multiple times, iterate over arrays like colors using for and for of, and print each element.
Create a basic form with an input and submit button, intercept the submit event, prevent reload, and read and validate the input to display a dynamic message.
Store user input in an array and render a list on the page with JavaScript, showing how push, createElement, and appendChild update the DOM, and clear the input after adding.
Learn common JavaScript mistakes in the browser, from running before HTML and wrong selectors to forgetting preventDefault, using the console, and separating CSS from JavaScript for debugging.
See how JavaScript works with HTML and CSS to create interactive websites, and prepare for the next step with React.
JavaScript is what makes the web interactive.
In this course, you’ll learn JavaScript for the browser from scratch, in a practical and beginner-friendly way. We’ll focus on understanding how JavaScript works together with HTML and CSS to create dynamic and interactive web pages.
Just like my other courses in the Hands-On Introduction series, this is a no-slides course. Everything is done directly in the code editor, step by step, so you can follow along and truly understand what’s happening — not just copy and paste code.
We’ll start with the fundamentals of JavaScript and gradually move toward real-world browser use cases, such as manipulating the DOM, handling user events, working with forms, and updating the UI dynamically.
This course is designed to give you a solid foundation that prepares you for modern frontend frameworks like React or Next.js, where many of these concepts are abstracted but still essential to understand.
By the end of this course, you’ll not only understand JavaScript syntax, but also how JavaScript thinks and behaves inside the browser. We’ll explore how the browser loads your code, how scripts interact with HTML elements, and how user actions trigger JavaScript logic. You’ll learn how to debug problems using browser developer tools and understand common mistakes beginners make when working with JavaScript on the web. This knowledge will make learning this modern frontend frameworks in the future much easier and far less confusing.