EPUB/PDF

The Modern JavaScript Tutorial How it's done now. From the basics to advanced topics with simple, but detailed explanations.

13th August 2020 10642 ★github Share: Search in the tutorial SEARCH Table of contents Main course contains 2 parts which cover JavaScript as a programming language and working with a browser. There are also additional series of thematic articles.

PART 1 The JavaScript language Here we learn JavaScript, starting from scratch and go on to advanced concepts like OOP.

We concentrate on the language itself here, with the minimum of environment-specific notes.

An introduction An Introduction to JavaScript Manuals and specifications Code editors Developer console JavaScript Fundamentals Hello, world! Code structure The modern mode, "use strict" Variables Data types Interaction: alert, prompt, confirm More… Code quality Debugging in Chrome Coding Style Comments Ninja code Automated testing with Mocha Polyfills Objects: the basics Objects Object copying, references Garbage collection Object methods, "this" Constructor, operator "new" Optional chaining '?.' Symbol type Object to primitive conversion Data types Methods of primitives Numbers Strings Arrays Array methods Iterables More… Advanced working with functions Recursion and stack Rest parameters and spread syntax Variable scope, closure The old "var" Global object Function object, NFE More… Object properties configuration Property flags and descriptors Property getters and setters Prototypes, inheritance Prototypal inheritance F.prototype Native prototypes Prototype methods, objects without proto Classes Class basic syntax Class inheritance Static properties and methods Private and protected properties and methods Extending built-in classes Class checking: "instanceof" Mixins Error handling Error handling, "try..catch" Custom errors, extending Error Promises, async/await Introduction: callbacks Promise Promises chaining Error handling with promises Promise API Promisification Microtasks Async/await Generators, advanced iteration Generators Async iterators and generators Modules Modules, introduction Export and Import Dynamic imports Miscellaneous Proxy and Reflect Eval: run a code string Currying Reference Type BigInt 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, querySelector Node properties: type, tag and contents Attributes and properties More… Introduction to Events Introduction to browser events Bubbling and capturing Event delegation Browser default actions Dispatching custom events UI Events Mouse events Moving the mouse: mouseover/out, mouseenter/leave Drag'n'Drop with mouse events Pointer events Keyboard: keydown and keyup Scrolling Forms, controls Form properties and methods Focusing: focus/blur Events: change, input, cut, copy, paste Forms: event and method submit Document and resource loading Page: DOMContentLoaded, load, beforeunload, unload Scripts: async, defer Resource loading: onload and onerror Miscellaneous Mutation observer Selection and Range Event loop: microtasks and macrotasks PART 3 Additional articles List of extra topics that assume you've covered the first two parts of tutorial. There is no clear hierarchy here, you can read articles in the order you want. Frames and windows Popups and window methods Cross-window communication The clickjacking attack Binary data, files ArrayBuffer, binary arrays TextDecoder and TextEncoder Blob File and FileReader Network requests Fetch FormData Fetch: Download progress Fetch: Abort Fetch: Cross-Origin Requests Fetch API More… Storing data in the browser Cookies, document.cookie LocalStorage, sessionStorage IndexedDB Animation Bezier curve CSS-animations JavaScript animations Web components From the orbital height Custom elements Shadow DOM Template element Shadow DOM slots, composition Shadow DOM styling Shadow DOM and events Regular expressions Patterns and flags Character classes Unicode: flag "u" and class \p{...} Anchors: string start ^ and end $ Multiline mode of anchors ^ $, flag "m" Word boundary: \b More… Share Tutorial map Comments If you have suggestions what to improve - please submit a GitHub issue or a pull request instead of commenting. If you can't understand something in the article – please elaborate. To insert few words of code, use the <code> tag, for several lines – wrap them in <pre> tag, for more than 10 lines – use a sandbox (plnkr, jsbin, codepen…) © 2007—2020 Ilya Kantor about the project contact us terms of usage privacy policy

1
$
User's avatar
@Murad10 posted 4 years ago

Comments