Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP C C++ C# AWS W3.CSS HOW TO BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS DSA TYPESCRIPT ANGULAR ANGULARJS GIT POSTGRESQL MONGODB ASP AI R GO KOTLIN SWIFT SASS VUE GEN AI SCIPY CYBERSECURITY DATA SCIENCE INTRO TO PROGRAMMING INTRO TO HTML & CSS BASH RUST TOOLS

JS Tutorial

JS Home JS Introduction JS Where To JS Output JS Syntax JS Operators JS If Conditions JS Loops JS Strings JS Numbers JS Functions JS Timers JS Objects JS Scope JS Dates JS Arrays JS Sets JS Maps JS Iterations JS Math JS RegExp JS Data Types JS Errors JS Debugging JS Style Guide JS Reference JS Projects  New JS Versions JS HTML DOM JS HTML Events JS HTML First

JS Web API

JS Window API JS Fetch API JS JSON JS Web API

JS Advanced

JS Temporal  New JS Functions JS Objects JS Classes JS Asynchronous JS Modules JS Meta & Proxy JS Typed Arrays JS DOM Navigation JS Graphics

Old Technologies

JS AJAX JS jQuery JS JSONP

JS Examples

JS Examples

JavaScript Exercises


Test your JavaScript skills with exercises from all categories:

Exercises

Tip: Sign in to track your progress.

0/209 done

Introduction3 exercises

Done

Where To3 exercises

Done

Output3 exercises

Done

Statements3 exercises

Done

Syntax3 exercises

Done

Comments3 exercises

Done

Variables7 exercises

Done

Let3 exercises

Done

Const3 exercises

Done

Operators3 exercises

Done

Arithmetic Operators3 exercises

Done

Assignment Operators3 exercises

Done

Data Types3 exercises

Done

Functions5 exercises

Done

Timers4 exercises

Done

Objects4 exercises

Done

Object Properties3 exercises

Done

Object Methods3 exercises

Done

Object this3 exercises

Done

Display Objects3 exercises

Done

Object Constructors3 exercises

Done

Events3 exercises

Done

Continue3 exercises

Done

Control Flow3 exercises

Done

Strings4 exercises

Done

String Methods5 exercises

Done

String Templates3 exercises

Done

Numbers3 exercises

Done

BigInt3 exercises

Done

Number Methods3 exercises

Done

Number Properties3 exercises

Done

Arrays4 exercises

Done

Array Constructor3 exercises

Done

Array Methods3 exercises

Done

Sorting Arrays3 exercises

Done

Array iteration3 exercises

Done

Array Const3 exercises

Done

Dates3 exercises

Done

Date Formats3 exercises

Done

Date Get Methods3 exercises

Done

Date Set Methods3 exercises

Done

Iterators3 exercises

Done

Generators3 exercises

Done

Math4 exercises

Done

Math Random3 exercises

Done

Booleans3 exercises

Done

Comparisons5 exercises

Done

Comparison Operators3 exercises

Done

Conditionals3 exercises

Done

If Statement3 exercises

Done

If Else3 exercises

Done

Ternary Operator3 exercises

Done

Switch3 exercises

Done

Loops3 exercises

Done

For Loops3 exercises

Done

For In Loops3 exercises

Done

For Of Loops3 exercises

Done

While Loops3 exercises

Done

Break and Continue3 exercises

Done

WeakMap3 exercises

Done

Loop Types3 exercises

Done

Iterables3 exercises

Done

Sets3 exercises

Done

Set Methods3 exercises

Done

Set Logic3 exercises

Done

WeakSet3 exercises

Done

Maps3 exercises

Done

Map Methods3 exercises

Done

RegExp Flags4 exercises

Done

RegExp Character Classes3 exercises

Done

RegExp Metacharacters3 exercises

Done

RegExp Assertions3 exercises

Done

RegExp Groups3 exercises

Done

RegExp Quantifiers3 exercises

Done

RegExp Objects3 exercises

Done

Data Types Overview3 exercises

Done

Primitive Data Types3 exercises

Done

Built-In Objects3 exercises

Done

Symbols4 exercises

Done

TypeOf3 exercises

Done

Undefined3 exercises

Done

NaN3 exercises

Done

toString()3 exercises

Done

toLocaleString()3 exercises

Done

Type Coercion3 exercises

Done

Type Conversion3 exercises

Done

Destructuring3 exercises

Done

Bitwise3 exercises

Done

Regular Expressions3 exercises

Done

Debugging Console3 exercises

Done

Debugging Breakpoints4 exercises

Done

Debugging Errors4 exercises

Done

Debugging Async4 exercises

Done

Style Guide3 exercises

Done

Best Practices3 exercises

Done

Common Mistakes4 exercises

Done

Performance3 exercises

Done

Operator Precedence3 exercises

Done

Error Handling3 exercises

Done

Scope3 exercises

Done

Code Blocks3 exercises

Done

Hoisting3 exercises

Done

Var, Let and Const4 exercises

Done

Strict Mode4 exercises

Done

JSON Syntax3 exercises

Done

JSON Values4 exercises

Done

JSON Parse3 exercises

Done

JSON Stringify3 exercises

Done

Loading JSON3 exercises

Done

Displaying JSON3 exercises

Done

JSON vs XML3 exercises

Done

Web APIs4 exercises

Done

Geolocation API4 exercises

Done

Pointer Events API4 exercises

Done

Web Storage API3 exercises

Done

Validation API4 exercises

Done

Web Workers API4 exercises

Done

Migrate to Temporal5 exercises

Done

Function Definitions4 exercises

Done

Callbacks3 exercises

Done

The this Keyword4 exercises

Done

Function Invocation4 exercises

Done

Function Parameters3 exercises

Done

Function Return3 exercises

Done

Function Arguments5 exercises

Done

Function Expressions5 exercises

Done

Arrow Function4 exercises

Done

Functions Quiz9 exercises

Done

Function Call4 exercises

Done

Function Apply3 exercises

Done

Function Bind3 exercises

Done

Self-Invoking Functions5 exercises

Done

Closures4 exercises

Done

Advanced Functions Quiz11 exercises

Done

Object Definitions3 exercises

Done

this in Objects3 exercises

Done

Object Iterations4 exercises

Done

Object Accessors3 exercises

Done

Object Management3 exercises

Done

Object Protection3 exercises

Done

Object Prototypes3 exercises

Done

Classes3 exercises

Done

Class Inheritance4 exercises

Done

Static Methods3 exercises

Done

Async Programming3 exercises

Done

Async Callbacks3 exercises

Done

Async Promises3 exercises

Done

Async Await3 exercises

Done

Async Parallel3 exercises

Done

Async Event Loop3 exercises

Done

Async Fetch3 exercises

Done

Async Mistakes3 exercises

Done

Async Debugging3 exercises

Done

Async AbortController3 exercises

Done

Async Web Workers3 exercises

Done

Modules3 exercises

Done

HTML-First3 exercises

Done

Progressive Enhancement3 exercises

Done

Native HTML Features4 exercises

Done

CSS Instead of JavaScript3 exercises

Done

Window Object3 exercises

Done

Window Screen3 exercises

Done

Window Location3 exercises

Done

Window History4 exercises

Done

Window Navigator3 exercises

Done

Popup Boxes3 exercises

Done

Cookies3 exercises

Done

Fetch API3 exercises

Done

JSON3 exercises

Done

Silent Errors3 exercises

Done

Error Statements3 exercises

Done

Debugging3 exercises

Done

HTML DOM3 exercises

Done

HTML DOM Methods3 exercises

Done

HTML DOM Animation3 exercises

Done

HTML DOM Document3 exercises

Done

HTML DOM Elements4 exercises

Done

HTML DOM HTML3 exercises

Done

HTML DOM Form Validation3 exercises

Done

HTML DOM CSS4 exercises

Done

Mouse Events3 exercises

Done

Keyboard Events3 exercises

Done

Load Events3 exercises

Done

Event Management3 exercises

Done

HTML DOM Events3 exercises

Done

HTML DOM Event Listener3 exercises

Done

Modules Export3 exercises

Done

Modules Import3 exercises

Done

Module Namespace3 exercises

Done

Dynamic Modules3 exercises

Done

Meta Programming3 exercises

Done

Reflect4 exercises

Done

Proxy3 exercises

Done

Typed Arrays3 exercises

Done

Typed Array Methods3 exercises

Done

ArrayBuffer4 exercises

Done

DataView3 exercises

Done

Atomics3 exercises

Done

HTML DOM Navigation3 exercises

Done

HTML DOM Nodes3 exercises

Done

HTML DOM Collections3 exercises

Done

HTML DOM Node List3 exercises

Done

HTML Canvas3 exercises

Done

Plotly.js3 exercises

Done

Chart.js3 exercises

Done

Google Chart3 exercises

Done

D3.js3 exercises

Done

Log in to track your progress

If you haven't already, sign up to become a W3Schooler, and get points for every exercise you complete.

As a logged-in W3Schools user you will have access to many features like having your own web page, track your learning progress, receive personal guided paths, and more.


The Exercise

The exercises are a mix of "multiple choice" and "fill in the blanks" questions.

There are between 3 and 9 questions in each category.

The answer can be found in the corresponding tutorial chapter.

If you're stuck, or answer wrong, you can try again or hit the "Show Answer" button to see the correct answer.



Free account

Track your progress

XP earned 0 Day streak 0 Spaces 0 League —

New

Learn in Adventure Mode W3Schools Adventure App

Coding fundamentals as bite-sized lessons and challenges.

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookies and privacy policy.

Copyright 1999-2026 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.