JavaScript

What is JavaScript

JavaScript and related technologies

  • First Step
  • Setup your environment
  • Hello, World!
  • Variables and statements
  • Browser Developer’s Tools
  • User interaction: alert, prompt and confirm
  • Operators and constructs
  • Operators
  • Comparison operators, if..else
  • Loops and switch

Functions: declarations and expressions

Mastering data types

  • String
  • Number, Math
  • Objects
  • Array
  • Conversion, to String and value Of

Four scents of “this”

Type detection

Function arguments

Static variables and methods

Scopes and Closures

  • Initialization of functions and variables
  • Closures

Document and Events

Browser environment

DOM

  • DOM Nodes
  • Traversing the DOM

Basic DOM Node properties

  • Attributes and custom properties
  • Modifying the document
  • Using document.write
  • Searching elements in DOM

View and position

  • Styles and classes, get Computed Style
  • Events
  • Introduction into browser events
  • Obtaining the event object
  • Bubbling and capturing
  • The default browser action
  • Event delegation
  • Mouse events
  • Focus/Blur: methods and events
  • Keyboard events

Object Oriented Programming

Prototypal inheritance

Extending Natives

The “constructor” property

The “instance of” operator

OOP patterns

  • General concepts
  • Pseudo-classical pattern
  • All-in-one constructor pattern
  • Factory constructor pattern

Early and Late Binding

Exceptions

Timing

Date/Time functions

Understanding timers: set Timeout and set Interval

Regular expressions in JavaScript

  • Introduction
  • Character classes
  • Special characters
  • Flags
  • Character sets and ranges
  • Numeric Quantifiers
  • Quantifiers +, * and ?
  • Greedy and Lazy
  • Anchors and multiline mode
  • Word boundary
  • Groups
  • Alternation
  • Regular expressions methods