
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Build an interactive JavaScript project with a toggle menu, time-based greetings, weather data from Open Weather Map, a temperature switch, a dynamic clock, and an image gallery.
Download or clone the repo, open the folder in Visual Studio Code to view the static html and css with assets, then enable the live server to auto-update changes.
Learn to run JavaScript code in your page using the browser engine and developer tools, inspect elements with F12, test in the console, and grasp case sensitivity with alerts.
Place script tags at the end of the body to have the browser execute JavaScript as the page loads, and use an external main.js file linked with a script src.
Explore JavaScript syntax by learning functions, arguments, parentheses, and curly braces. Use alert, console.log, and custom functions to execute code and display results in the console or on the page.
Explore how the browser builds the document object model from HTML and interact with page elements via the document object, navigating the DOM tree from HTML to head and body.
Learn to use the browser's document object to select HTML elements by id with getElementById, then update their innerHTML to display Hello world, demonstrating DOM manipulation.
Learn to select and manipulate HTML elements using document.getElementById, getElementsByClassName, getElementsByTagName, and querySelector. Explore HTML collections and the need for loops to update multiple elements.
Master CSS manipulation with JavaScript by using the style property to change colors and layout, and control element visibility by classList add, remove, and toggle on clicks.
Explore how to make a web page interactive by handling click events, listening with addEventListener, and manipulating CSS classes to open or close menus and change displayed content.
Open and close the menu by toggling the nav open class on the wrapper with event listeners and DOM selection; wire CSS visibility via the right property.
Learn how to store values with variables, declare with var, let, and const, manage global and local scope, and reassign values for currency conversions using an exchange rate.
Learn JavaScript variable naming rules and best practices, including allowed characters, starting rules, reserved words to avoid, and camel case versus underscores for meaningful, consistent names.
Explore how data types govern operations on variables in JavaScript, from numbers to strings, and how concatenation differs from addition due to the weakly typed language.
Explore strings in JavaScript by learning the string type, length, indexing starting at zero, and methods like slice and replace to validate account numbers and derive country codes.
Explore arrays as lists of values that can hold multiple data types, learn to access elements by index, and use push, shift, and concatenate to manage and merge arrays.
Explore the object data type and contrast it with arrays, using key-value pairs and dot notation to access properties; learn to add, update, and manage objects and arrays of objects.
Explore the boolean data type; true and false show how comparisons drive decisions using =, ==, and ===, with the exclamation mark to negate and test not equal to.
Explore JavaScript data types by examining undefined and null, learn how declaring an unassigned variable yields undefined, and how null represents intentional absence and strict equality compares them.
Learn how to create and use functions to encapsulate reusable code, pass arguments, and return values, illustrated by converting Celsius to Fahrenheit and applying the result across multiple locations.
Build an interactive temperature switch by using a single event listener on the parent element, read the target id (Celsius or Fahrenheit), and update the displayed temperature accordingly.
Master conditionals in JavaScript by using if and else if to handle Celsius and Fahrenheit button clicks, compare IDs with booleans, and display corresponding messages.
Master date and time in JavaScript by using the date object, creating local dates, calculating differences in milliseconds, and retrieving hours, minutes, and seconds with getHours, getMinutes, and getSeconds.
Learn to display the local time by selecting elements with a data-time attribute using CSS selectors, creating a date object, and updating hours, minutes, and seconds every second.
Learn to use setTimeout and setInterval to build a running clock that updates the local time every second, retrieving hours, minutes, and seconds on each interval.
Use the padStart method to format clock numbers by padding single-digit hours, minutes, and seconds with a leading zero, or other fill characters as needed.
Explore loops in JavaScript, starting with the for loop and its three clauses, then iterate over arrays using length and for in, and access object properties.
Build an interactive image gallery by using an array of image objects with source and alt text, render thumbnails with a loop, and update the main image on click.
Use the forEach loop on arrays to access both index and element in a gallery example, printing indexes and images, and compare it to other loops.
Select the gallery main image element and set its src and alt from the images array to display the first image dynamically while updating thumbnails accordingly.
Create and manage a dynamic gallery by generating thumbnail elements with document.createElement, assigning src, alt, and data attributes, appending them to the thumbnails container, and enabling click-driven main image updates.
Learn to use a one-line ternary conditional to set the default selected thumbnail in a JavaScript app, using zero-based indexing and data attributes.
Build a dynamic image gallery by wiring thumbnail clicks to update the main image and highlight the selected thumbnail, using data array index attributes, event listeners, and a reset-unselect-then-select approach.
Create a time-based greeting in JavaScript by computing the current hour and using a let variable with an if/else ladder to show good morning, afternoon, or evening.
Organize code with dedicated handler functions for each section—menu, greeting, clock, gallery—and a shared temperature and weather handling setup, executed on page load for a scalable, readable project.
Render the products section by reading a products array from JSON, loop to create HTML elements, populate the product area, and initialize a product handler for dynamic filters.
Learn to populate products section by looping through the products array, creating and appending product items with images (src from product.image and alt from title), and debugging with console logs.
Develop and populate the product details section using pure JavaScript, creating title, author, and price elements, formatting prices with two decimals or showing 'free,' and ensuring filters work.
Learn how the array filter method counts paid and free products by filtering price greater than zero and using array length to update totals dynamically in the DOM.
Create and manage arrays for all, free, and paid products; filter by price conditions, including undefined prices, and populate the filter labels with the lengths of these arrays.
Create a reusable populate products function that renders all, paid, or free products by array, clearing the section before each filter click.
Build the footer, make the year dynamic, and set up http requests to fetch weather data from an external service.
Learn to fetch the user's location with navigator.geolocation.getCurrentPosition and extract latitude and longitude to drive weather data. Implement permission handling and a default location fallback when location access is denied.
Explore arrow functions in JavaScript (ES6) and simplify code by replacing function keywords with concise syntax, optional parentheses for single arguments, and single-statement returns in array filters.
Learn how HTTP requests move data between the browser and a server, and how JavaScript fetches API data after page load to update content without refreshing.
Explore how to send HTTP requests with the fetch method in JavaScript, using async/await and promises to handle API responses and JSON data.
Fetch current weather data from the open weather map API by obtaining an API key, composing the URL with latitude and longitude, and testing the JSON response with fetch.
Extracts condition, location, and temperature from the weather API and formats a dynamic message in Celsius (with Fahrenheit support) via a weather handler to update the page.
Learn error handling in JavaScript by using try and catch blocks to prevent code from breaking when fetch fails, and display a fallback message to users.
Javascript is the most used programming language in the world. After almost 30 years since the first release, its popularity continues to spread as the community grows and more robust frameworks are launched frequently.
Learning Javascript will open a brand new world of opportunities for you. Whether you need to learn Javascript for an ongoing project, to apply for a job, or simply because you want it now, here you will find all the resources you need.
This course is also a great choice for businesses as a web development training resource.
Our Project-Based Approach
This course was designed for people with fast-paced lives, that don't have time to waste. In the very first lesson, you will be presented with a project you will build from start to finish.
This project has multiple Javascript components that will enable you to learn beginner, intermediate, and advanced Javascript concepts while you build them.
Here's a summary of these components:
• The popular animated mobile menu, that opens and closes with a slide effect.
• A real-time weather information section, with data retrieved from The Weather Map API.
• A temperature conversion switch
• A local-time clock that runs on the page.
• An image gallery with thumbnails.
• A product section populated from a JSON object.
• A product filter that showcases free, paid, or all products.
All The Fundamentals of Javascript Covered
Although this is a fast project-based course, we made sure to cover all the fundamentals of Javascript.
While you get the thrill of solving challenging Javascript problems within the project, you will learn all these topics in detail:
• Javascript Syntax
• Code Organization & Best Practices
• The Document Object Model (DOM)
• HTML & CSS Manipulation
• Events
• Variables
• Data Types
• Functions
• Conditionals
• Loops
• Date & Time
• Geolocation
• How to Work With External APIs
• HTTP Requests & the Fetch Method
• Error Handling
• ES6+ Functions
This Is Your Opportunity
This course offers a certificate of completion, lifetime access, and a 30-day money-back guarantee. It's a risk-free opportunity for you to learn Javascript today!
About the Instructor
This course is ministered by Ivan Loureço Gomes, a top-rated Udemy instructor, famous for his easy-to-follow and hands-on teaching style. Ivan has 8 years of professional experience in IT areas, such as web design, front-end web development, software testing, agile methodologies, project management, and team building.
With 18 courses published in 4 languages. he knows how to deliver the best and most engaging content for students.