W3schools Tutorials & Courses

Learn programming for free with our latest online learning resources with simple examples.

New & Trending Tutorials

Express.js

Express.js Templating with Pug

Learn to integrate Pug with Express.js for dynamic server-side HTML. This guide covers setup, templates, data passing, and reusable partials for efficient content rendering

PHP 8

PHP 8.0 fdiv Function

Learn how to use PHP 8.0's fdiv function for safe division, handling division by zero gracefully with INF, -INF, and NAN outputs. Perfect for error-free calculations.

PHP 8

PHP 8.0 Mixed Type

Explore PHP 8.0's mixed type—a flexible union type allowing variables, parameters, or return types to accept multiple data types. Learn syntax, examples, limitations, and best practices for using mixed types in PHP functions to enhance flexibility and readability.

PHP 8

PHP 8.1 New Initializers

Learn how to use PHP 8.1's new initializers to set up class properties with arrays, objects, and constants. Create cleaner, more efficient object-oriented code.

CSS3

CSS Variables

Learn how to use CSS variables (custom properties) to simplify your styles, reduce repetitive code, and create dynamic designs with JavaScript features such as theme switching.

HTML5

HTML Offline Web Pages

Discover how to build offline web pages using Service Workers in HTML5. Cache resources like HTML, CSS, and JavaScript for reliable access without internet

JavaScript

JavaScript Closures

Learn what JavaScript closures are, how they work, and how to implement them for private variables, asynchronous code, and event handlers.

JavaScript

JavaScript Hoisting

Learn about JavaScript hoisting, a behavior that moves variable and function declarations to the top of their scope, and discover best practices to avoid hoisting issues.

Express.js

Express.js Route Handlers

Learn how to implement route handlers in Express.js for GET, POST, PUT, and DELETE requests. Efficiently manage HTTP requests and streamline your Express applications.

Express.js

Express.js Response Methods

Learn how to use Express.js response methods like res.send(), res.json(), res.status(), and more to efficiently handle HTTP responses in your web applications.