They offer to help you....
….… to name a few
This book covers all the basics including variables, functions, arrays/objects, classes, etc and then transitions into the more complex bits. The updated version gives you access to new material on class notation, arrow functions, iterators, async functions, template strings, and block scope. Use the additional exercises in the end to test your capabilities as you go
Courses on YouTube are also popular when it comes to learning programming languages. This course is spread over 12 hours with the first 3.5 hours available for free. As the title states it should help you work around the 'weird bits' an then delve into more complex parts.
The complete course will help you:
Understand advanced concepts such as closures, prototypal inheritance, IIFEs, and much more.
Part 2 covers working with a browser page i.e. adding elements, manipulating their size/positioning, created interfaces and interacting with the visitor etc.
An optional part 3 is also available which enlists a number of articles to read after you've covered the first two parts of the course. They will help you gain a deeper insight into the programming language.
Codecademy is a free website that helps you build up your JS skills. They claim to offer new, engaging, interactive methods of learning to unlock modern technical skills and reach your full potential. They also offer resources for HTML, CSS, Python, C++, etc. You can also take help from the projects available on their websites to start coding at home.
Scrimba is a platform encasing a number of free interactive tutorials. They aim to offer the basics coding school can teach you at a much lower cost for beginners. Their 'screencast' help interact with the code and make learning more entertaining so beginners can grasp the necessary skills faster.
Repl.it aims to make programming more accessible for beginners, developers, They teach via In-browser IDE so you may code on any platform/device available. Offering tutorials for over 50 languages including JavaScipt such as C++, Python, HTML, etc. You can also collaborate with other team members or invite new team members for real-time collaboration.