PART 1
The JavaScript language
Here you will learn JavaScript, starting from scratch, and go on to advanced concepts like Object and class.
We will concentrate more on the language itself here, with a minimum of environment-specific notes.
- An Introduction to JavaScript
- Java Script Code Editors | Writing first Java Script Program
- Developer console
JavaScript Fundamentals
- Hello, world!
- Code structure
- The modern mode, “use strict”
- Variables
- Data types
- Type Conversions
- Operators
- Comparisons
- Interaction: alert, prompt, confirm
- Conditional operators: if, ‘?’
- Logical operators
- Loops: while and for
- The “switch” statement
- Functions
- Function expressions and arrows
- JavaScript specials
- Objects
- Garbage collection
- Symbol type
- Object methods, “this”
- Object to primitive conversion
- Constructor, operator “new”
- Methods of primitives
- Numbers
- Strings
- Arrays
- Array methods
- Iterables
- Map, Set, WeakMap and WeakSet
- Object.keys, values, entries
- Destructuring assignment
- Date and time
- JSON methods, toJSON
Advanced working with functions
- Recursion and stack
- Rest parameters and spread operator
- Closure
- The old “var”
- Global object
- Function object, NFE
- The “new Function” syntax
- Scheduling: setTimeout and setInterval
- Decorators and forwarding, call/apply
- Function binding
- Currying and partials
- Arrow functions revisited
- Property flags and descriptors
- Property getters and setters
- Prototypal inheritance
- F.prototype
- Native prototypes
- Methods for prototypes
- Class patterns
- Classes
- Class inheritance, super
- Class checking: “instanceof”
- Mixins
PART 2
Browser: Document, Events, Interfaces
Learning how to manage the browser page: add elements, manipulate their size and position, dynamically create interfaces and interact with the visitor.Document
- Browser environment, specs
- DOM tree
- Walking the DOM
- Searching: getElement* and querySelector*
- Node properties: type, tag and contents
- Attributes and properties
- Modifying the document
- Styles and classes
- Element size and scrolling
- Window sizes and scrolling
- Coordinates
- Introduction to browser events
- Bubbling and capturing
- Event delegation
- Browser default actions
- Dispatching custom events
- Mouse events basics
- Moving: mouseover/out, mouseenter/leave
- Drag’n’Drop with mouse events
- Keyboard: keydown and keyup
- Scrolling
- Page lifecycle: DOMContentLoaded, load, beforeunload, unload
- Resource loading: onload and onerror
- Form properties and methods
- Focusing: focus/blur
- Events: change, input, cut, copy, paste
- Form submission: event and method submit
Watch for javascript.info updates
We do not send advertisements, only relevant stuff. You choose what to receive:Nothing selectedNew courses and screencasts, site updatesJavascript/DOM/Interfaces courseNode.JS courseAngular courseReact.JS courseTypescript courseSubscribePART 3
Additional articles
List of extra topics that are not covered by first two parts of tutorial. There is no clear hierarchy here, you can access articles in the order you want.Animation
- Patterns and flags
- Methods of RegExp and String
- Character classes
- Escaping, special characters
- Sets and ranges […]
- The unicode flag
- Quantifiers +, *, ? and {n}
- Greedy and lazy quantifiers
- Capturing groups
- Backreferences: \n and $n
- Alternation (OR) |
- String start ^ and finish $
- Multiline mode, flag “m”
- Lookahead (in progress)
- Infinite backtracking problem