Variables, functions, and the DOM: adding behavior to the web.
Variables, functions, and the DOM: adding behavior to the web.
JavaScript is dynamically typed. You declare variables with let (block-scoped), const (block-scoped, cannot reassign), or var (function-scoped, avoid in new code). Types include number, string, boolean, null, undefined, object, and symbol; typeof and strict equality (===) help you reason about values.
Arrays and objects are reference types. Use const for arrays/objects when you do not reassign the variable; you can still mutate the contents (push, property assignment).
Functions are first-class: you can pass them as arguments, return them, and store them in variables. Function declarations are hoisted; arrow functions (() => {}) are not and inherit this from the enclosing scope. Use return to produce a value; undefined is returned if you do not.
Scope: global, function, and block (with let/const). Closures occur when a function keeps access to variables from its creation scope—essential for callbacks, event handlers, and encapsulation.
The Document Object Model (DOM) is the tree of elements in the page. You select elements (querySelector, getElementById, querySelectorAll), read and change properties (textContent, innerHTML, classList, style), and add or remove nodes.
Events (click, submit, keydown, etc.) are handled with addEventListener. Event objects carry target, preventDefault(), and stopPropagation(). Use event delegation when you have many similar elements to avoid attaching a listener to each.
Related concepts
Explore topics that connect to this one.
Ready to see how this works in the cloud?
Switch to Career Paths for structured paths (e.g. Developer, DevOps) and provider-specific lessons.
View role-based pathsSign in to track your progress and mark lessons complete.
Questions? Discuss in the community or start a thread below.
Join DiscordSign in to start or join a thread.