The following documentation is potentially dense, but thorough and accurate:
Seeing as you'll need to put these techniques into practice, and, there is an internet full of problems to solve, here are a couple recommended sites to get your skills up with practice:
- Introduction
- JavaScript and Modern Web Development
- Dev Environment Setup
- Introduction to Functions
- Basic Use of Functions
- JavaScript Types Crash Course
- Functions that Make Values
- Variables
- String Methods
- Introduction to Arrays
- Defining Functions
- Leveraging Multiple Functions
- Next Steps
- Reference and Further Study