This 3-day course will expand on the introductory knowledge that developers have regarding the use of JavaScript. Attendees will learn best practice approaches on general JavaScript topics such as inheritance, code organization, type checking, performance and testing, as well as implementation-specific topics such as the window object, the DOM and the debugging console. In addition, hands-on workshops and discussions will be utilized to enable attendees to experiment and learn first-hand.
- JavaScript Isn't Just in the Browser
- Debugging with console
- Variables and Identifiers
- Statements
- Error Handling and Debugging
- Primitive Types
- Objects
- Objects as Namespaces
- Arrays
- Functions
- Scoping and Hoisting
- Immediately Invoked Function Expressions
- The Module Pattern
- Method chaining
- Dates
- Regular Expressions
- Coercion and Comparison
- The typeof Operator
- The instanceof Operator
- Other Operators
- Operator Precedence
- Eval
- Timers
- Automatic Semicolon Insertion
- JSON: JavaScript Object Notation
- Instances and Inheritance
- Creating objects with the Module Pattern
- Creating objects with Constructors and Prototypes
- Prototypal Inheritance
- Browser JavaScript
- The window Object
- Browser History
- The Document Object Model (DOM)
- Events
- JSLint / JSHint
- Minification
- Unit testing
- Documentation
- Coding style
- Performance
FWIW, this is the condensed outline. I have too many bullet points to reasonably list. The DOM section (for example) covers the Document, Nodes, Live and Static NodeLists, Elements (Selecting, Creating, Manipulating), DocumentFragment, Traversing the DOM, TreeWalker, The Event Object, Event Bubbling and Capturing, Delegation and Custom Events.