Excellent Javascript/jQuery resources

Lexical scoping/closure

Understanding Scope and Context in JavaScript


Demystifying JavaScript Variable Scope and Hoisting

Event Capturing and Bubbling in JavaScript
Bubbling and capturing

How JavaScript Event Delegation Works

JavaScript Prototype in Plain Language

JavaScript Promises for Dummies

Eric Elliott’s “Master the JavaScript Interview” Series

Anjana Vakil: Learning Functional Programming with JavaScript – JSUnconf 2016

How JavaScript Event Delegation Works

Event order

Closures in loops – Javascript Gotchas

Your JS is a Mess. Javascript Namespacing

Javascript’s Reduce method

The Reduce method reduces an array into a single value by applying a callback function to each element in the array, starting with the leftmost to the rightmost element.

As a simple example, we could use reduce() to find the sum of all the numbers in an array.

const numbers = [3, 2, 5, 7, 8, 10];
const sum = numbers.reduce(function (total, item) {
  return total + item;
// Returns 35

In ES6 syntax,

const numbers = [3, 2, 5, 7, 8, 10];
const sum = numbers.reduce((total, item) => total + item);
// Returns 35

More great examples of the Reduce method:

Full documentation: