JavaScript from Beginner to Expert

Become a JavaScript expert in 30 days, even if you are a beginner. Become a front-end developer of websites.
4.7 (311 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
4,935 students enrolled
Sale Ends Today!
79% off
Take This Course
  • Lectures 91
  • Exercises 1 coding exercises
  • Length 12.5 hours
  • Skill Level All Levels
  • Languages English, captions
  • Includes Coding Exercises New!
    Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2015 English Closed captions available

Course Description

Save your precious time by buying this course. You will learn how to program in JavaScript in a fast and easy way!

The total length of the JavaScript course is over 12 hours! You will learn theory and you will also gain lots of practice. During the course, I will explain to you how to write real-life applications, like galleries with thumbnails, image sliders, etc.

I will do everything so that you understand JavaScript. After this course, you will always understand the code you are writing. You will understand all concepts and create your own applications!

After my course, you can become a front-end developer. JavaScript is a very demanded language by employers.

The course is designed for the people who don't have any knowledge about programming or want to truly understand JavaScript. It doesn't matter if you have never written any programs or you have no idea about programming... After my course, all this will change. You will bust the myth that programming is a difficult thing only for the few!

JavaScript will bring life to your website.

By life, I mean inter-active, animated elements like:

  • tooltips
  • image sliders
  • forms with pre-validation
  • slided panels
  • galleries with thumbnails
  • menus
  • and many more

Learn JavaScript in order to improve the user experience on your website, which will result in more visitors and sales, because happy visitors = a better reputation for your website.

JavaScript gives your website additional functionalities that can be executed on the user's computer without re-connecting to the server. This allows you to do things that you cannot do with only HTML. Because of this, the user interface becomes more friendly and more inter-active

Javascript is a programming language used for creating dynamic action on your website. If you want to remove/change/add content to your website dynamically, you must know JavaScript.

After this course, you will know JavaScript perfectly. This is the most organised course about JavaScript from Beginner to Expert on the whole Internet. I will take you step by step from theory to practical examples, like image sliders and animation.

Understanding JavaScript syntax well will allow you to also understand jQuery framework better. jQuery framework is a big library of useful JavaScript functions that allows you to write less code while doing much more.

What's more is that JavaScript is required to understand AJAX which lets you load content on your website without reloading the whole website.

As a front-end developer you have to know HTML, CSS and JavaScript perfectly.

In addition to this, I'm adding two BONUS sections about Debugging and Best practises for developing clean, easy to maintain and well-performing code in JavaScript.

JavaScript is necessary for becoming a front-end developer. Imagine a situation where you have a clock on your website. You would need to request a new value from the server every second in order to update this clock. With JavaScript, everything runs on the user side without re-connecting to the server. Imagine a situation where the clock would need to reset each second. Your webpage would just constantly reload to update the content, destroying the user experience. With JavaScript you can update the content without reloading the webpage. What's more is that there are advanced libraries for JavaScript, like AJAX, that allow you to connect to the database and retrieve information without reloading the website. To sum up JavaScript 'runs' on the web-browser of the visitor of your website.

I give you 100% satisfaction. If you do not like my course, you can request a full refund up to 30 days. Remember that if you have any questions regarding topics covered in the course please feel free to ask. I'm always happy to help!

  • Over 15,000 people from around the world have enrolled in my courses
  • My courses are updated if needed

Please check out free lessons before buying! See for yourself the great quality of the course and enjoy it!

Become JavaScript Expert today!

What are the requirements?

  • You should already be familiar with basics of HTML and CSS.

What am I going to get from this course?

  • You will be able to create tooltips, slideshows, galleries with thumbnails and many more
  • You will understand events, variables, objects, arrays, functions, loops, conditional statements, DOM, RegExp, Cookies and use that info in your scripts.
  • You will know how to pre-validate all kind of forms and give users information if something is wrong without reloading website
  • You will know how to debug and keep your code performing well
  • Quizzes and exercises
  • Support from the author
  • Organised material taking you from Beginner to Expert level in Javascript

Who is the target audience?

  • This JavaScript course is meant for people who are familiar with HTML and CSS. No prior knowledge about JavaScript is needed. Everything is described from the beginning to expert level.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

Javascript is a script language used for creating dynamic action on your website. If you want to remove/change/add content to your website dynamically then you have to know JavaScript. In this lesson I will tell you what is JavaScript and where can you use it.


My name is Arkadiusz Włodarczyk and I'll introduce myself in this course so you know if it's worth learning from me.


This lesson will tell you what you will you know after this course


Assumptions that you should know before taking this course

Section 2: Editor

What editor will we use? It really doesn't matter at all. You can write Javascript even in notepad. So if you use microsoft visual studio, aptana studio, notepad or whatever any other IDE everything is gonna work the same. The difference is only in how the editor is gonna colour your code or how your editor is gonna give you hints while you are programing etc.


After this lesson you will know how to create your first project and how to set up your folders to make them easy to maintain.


After this lesson you will know the most useful shortcuts used by web developers and programmers. All these shortcuts are gonna save you tons of time.

Useful shortcuts in text used in lecture 8
Section 3: Basics

I will teach you how to properly embed JS scripts which will make your website load faster.


After this lesson you will

  • understand what is parser
  • how is script executed and how it is interpreted
  • what are instructions
  • why we need semicolons ;
  • what are whitespace and how they are interpreted

What are comments are why should you create comments?


You will know the answer to the questions:

  • what are variables?
  • how to use variables?
  • why do we even use variables?
  • how to properly create variables?
  • how you should name your variables so everyone understands your code?

Practise your basic knowledge (Updated Dec 16')
6 questions
Section 4: Operators

In this lesson you will learn:

  • what are operators and why they are needed
  • basics aritmetic operators for adding/substracting/multiplying/dividing
  • modulo operator - and why do we need it
  • incremental and decremental operators
  • the difference between pre and post incremental/decremental operators
  • shortcuts for increasing values
1 question
Add variable called "a" to variable called "b" and store it in the variable "c"

After this lesson you will know what are relational operators which are sometimes called 'comparison' operators and when it's worth to use them.


You will know what are and how to use logical operators. You will understand the concept of negation, conjunction and alternative.

Practise your knowledge about the operators (Updated Sept 16')
8 questions
Section 5: Conditions

I will tell you what are, when to use and how to use conditional statements. In addition to this I will tell you why do we need curly bracers {}.


I will show you on practical example why we need short version of conditional operator called operator "?:".


What is switch, how to use and when to use it?

Practise your knowledge about the conditional statements
4 questions
Section 6: Functions

You will find out:

- what are functions?

- how to use functions?

- why do we need functions?

- what does it mean to invoke a function, return the value of function and so on

- how should we call functions?

- why it's worth to use functions?

- how to invoke a function in another function?


This lesson will introduce you to the concept of the scope of variables and functions. This can be sometimes problematic for beginners.


A short version of scope of variables lesson that will introduce you to the concept of the scope of variables and functions. This can be sometimes problematic for beginners.


What are anonymous functions and how to pass a function as an argument to another function. How to return the function as a function in another function.

Practise your knowledge about the functions (Updated Jun 15')
5 questions
Section 7: Objects

You will find out:

- what are objects?

- how to use from objects that are already created?

- how to get any element from the website by ID?

- how to change its value?

- how to create your own objects with methods and properties?

- and many more


If your script is not working please go ahead and watch section about events, you might need onload event.


What is a function constructor? what is a class? how to use them?


What is prototype and how to use it?

Practise your knowledge about the objects (Updated March 16')
6 questions
Section 8: Arrays

You will know the answers for the questions:

  • what are arrays in JavaScript?
  • why it's worth to use arrays?
  • how to use arrays?
  • how to add new elements to arrays?
  • what are associative arrays?

Array is an object and it has lots of useful methods that I will show you in this lesson. This will make your work with arrays faster.

Practise your knowledge about the Arrays
5 questions
Section 9: Loops

What are loops? How to use them and when to use them? How to print the content of array or edit the content of array using loops.


How to use loop called "for"?


How to use instruction break and continue in loops?


After this lesson you will understand a great loop that is used for processing objects


Exericse where you will train things that you have already learnt + you will find out how to send to the function unlimited number of arguments and then interpret them.

Loops quiz (Updated Feb 16')
5 questions
Section 10: DOM (Document Object Model)

What is DOM and how to use it? You will find out what is a node, child, parent, sibling in JavaScript. You will learn many properties and methods for choosing tags/attributes/text from website that you are interested in.

DOM is very important. It's the most important thing in JavaScript that allows you to add/delete/chage dynamically the content of your website without reloading it.


After this lesson you will know another method for getting elements from the html document and the difference between querySelector and querySelectorAll.


How to hide and apply styles using only JavaScript to many elements at once using JS.


How to add/remove elements in your HTML document. You will learn methods called: createElement, appendChild, removeChild. You wll know when you should use innerHTML and when you should use createElement.

Jak dodawać oraz usuwać elementy z witryny? Poznasz metody createElement, appendChild, removeChild. Dowiesz się kiedy powinieneś stosować innerHTML, a kiedy createElement.


A training lesson where you will leanr on example how to use loop in another loop and how to create a dynamic multiplication table on your website.

Lekcja treningowa w której dowiesz się na przykładzie jak działa pętla w pętli oraz jak dodać dynamicznie tabelkę mnożenia na stronę w postaci tabeli HTML.

Practise your knowledge about DOM
3 questions
Section 11: Events

You will learn what are events and how to use them. You will find out what are the ways of registering events. You will find out pluses and minuses of the various solutions. I will show you another use of anonymous function.


You will learn how to refer to the properties of element that invoked the event. How to for example change the class of element when you use your mouse over that element and how to remove the clas when your leave that element.


In this lesson you will find out about the event that is gonna save you lots of time in debugging your code.


What are event listeners? How to use them? Why do we need them on practical example.


You will learn about the object that stores information about the element that invoked the event. Thanks to this object you will have for example access to information where was the mouse during the event. What key was clicked etc. I will show you universal way of getting object event supported in all web browsers and how to create a simple tooltip.


What is and how to use propagation of events?


How to prevent browser default actions for example when you want to validate the form before sending it. Or when you want to block the context menu in order to show your own.


Exercise where you will train the things you already know. I will show you how to create a script with a button that will take you to the top of website when you scroll down. It will only show when you scroll down.


I will show you on practical examples events related to the mouse on practical example where you gonna be able to drag any element of your website.


I will show you how to create a stopwatch that will count down time from the moment that will passed in the form.


I will show you how to create a stopwatch created in last lesson like a pro in object oriented way.

Practise your knowledge about Events
6 questions
Section 12: Validating Forms using Events

You will learn events related to the keyboard like:

  • onchange
  • onfocus
  • onblur
  • onkeydown
  • onkeyup
  • onkeypress
and differences between these events. I will tell you how to get pressed key and tell you the differences between:
  • e.which
  • e.keyCode
  • e.charCode
You will find out how it is easy without creating additional identificator to get inputs from the form and how to make sure that the user can put into the input only for example numbers. If the user puts text he will be informed and that input will change color to for example red.

How to stop the data from sending if one of the value is wrong making sure that the form is not resetted? How to check many inputs at once?


How to check what elements from checkbox were chosen and how to react to it?


How to check what radio input is checked and how to re-act to it for example if one of the option is chosen (the user did not accept the TOS) then we want to prevent the form submission of form.


How to operate with select box in JavaScript? How to check what element was chosen? How to use chosen data?

Practise your knowledge about validating forms
4 questions
Section 13: String

I will tell you how to manipulate (operate) on strings using special methods on practical examples.


var x = "Hello \

How to break string in many lines in JS

Section 14: RegExp

Reference of RegExp Object that is being used in the next lesson


The powerful tool for searching string in advanced way. After this lesson you will know perfectly methods that will allow you to find / change / check / match values in the string.


How regexp match method differs from exec. When you should use exec function?


Training lessong where you gonna learn how to check if the password is strong enough using RegExp object.

Section 15: Date

How to manipulate the time using Date object. I will show you how to check how long has passed from the specific event. How to add new methods into Date object?


Exercise where you gonna create a dynamic counting clock on your website.

Section 16: Cookies

What are cookies and what are advanteges of using cookies? You will learn how to create cookies, how to remove them and how to modify them. You will also learn what you should be careful about when you are creating them.


I will show you how to create a function that is gonna make your life easier when you want to create a cookie.


I will show you how to create a function that is gonna make your life easier when you want to remove a cookie.


I will show you how to create a function that is gonna make your life easier when you want to find the value of cookie.


I will show you the function that will help you encode special characters as values in cookies.

Section 17: Dialog Window

What are popup windows and how to create them?

Section 18: Math

I will show you the most useful methods and I'll tell you how to round properly numbers.


I will show you how to generate random number


In this lesson you will train Math.random creating a function that will show random quotes on your website.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Arkadiusz Włodarczyk, Excellent teacher, Expert in Programming

I am the author of 27 very popular video courses about programming, web-development and math in Poland. I've also created 7 video courses in English. Over 16,000 people enrolled in my Udemy courses. I put all my heart into creation of courses. I always try to explain everything the easiest possible way. I'm sure that my courses will help you in the programming and web development adventure :)

I believe that everyone has the ability to develop software if they are taught properly. Including you. I'm going to give you the context of each new concept I teach you. After my course you will finally understand everything that you code.

I've been developing websites for over 14 years and i've been programming for over 10 years. I have enormous experience in that matter and I want to share with you my knowledge.

If you have any questions regarding covered topics please feel free to ask.

Ready to start learning?
Take This Course