Closures, this, prototypes, hoisting, scope
Understand closures with a counter factory
Understand how "this" works in different contexts
Understand prototypal inheritance
Understand variable and function hoisting
Understand lexical scope
Implement Function.prototype.call
Implement Function.prototype.apply
Implement Function.prototype.bind
Implement your own new operator
Implement Object.create
Implement the instanceof operator
Understand the difference between typeof and instanceof
Understand JavaScript execution context