Learning the JavaScript Language from the Internet
Resources:
- JS Course & Github Repo for JS by Jonas Schmedtmann
- You Don't Know JS by Kyle Simpson (getify)
- JS Docs by MDN
More resources will be added depending on the usefulness of the resource.
Syntax - <topic name>: <html file> | <JavaScript file>
-
JavaScript Basics
- Hello World!:
- Inline Script: hello_i.html
- External Script: hello_e.html | hello.js
- Variables & Data Types: var_dt.html | var_dt.js
- Variable Mutation & Type Coercion: vm_tc.html | vm_tc.js
- Basic Operators: operators.html | operators.js
- Coding Challenge I: challenge_1.html | challenge_1.js
- Control Structures & Boolean Logic: cs_bl.html | cs_bl.js
- Coding Challenge II: challenge_2.html | challenge_2.js
- Functions - Declarations & Expressions: functions.html | functions.js
- Arrays: arrays.html | arrays.js
- Coding Challenge III: challenge_3.html | challenge_3.js
- Objects - Properties & Methods: objects.html | objects.js
- Coding Challenge IV: challenge_4.html | challenge_4.js
- Looping & Iteration: loops.html | loops.js
- Coding Challenge V: challenge_5.html | challenge_5.js
- Hello World!:
-
JS Behind the Scenes
- Execution Context & Execution Stack: exec.html | exec.js
- Exectution Context in Detail
- Hoisting: hoisting.html | hoisting.js
- Scoping & Scope Chain: scope.html | scope.js | scope.pdf - view or download
- The
thisKeyword: this.html | this.js
-
JS DOM: The Pig Game (Common Markup for i-vi: index.html)
- DOM Access & Manipulation: app.js v1
- Events & Event Handling: app.js v2
- Adding, Removing & Toggling HTML Classes: app.js v3
- DRY Principle & More DOM Manipulation: app.js v4
- Creating Initialization Function for the Game: app.js v5
- Adding Game State: app.js final version (Easy) | Play the game @CodeSandBox
- The Pig Game: app.js final version (Hard) | Play the game @Repl.it | Updated Markup - index.html
-
Advanced JS: Objects & Functions
- Object Creation, Inheritence & Prototype Chain: obj.html | obj.js | prototypeChain.pdf - view or download
- Primitives vs. Objects: prim_vs_obj.html | prim_vs_obj.js
- First Class Functions: first_class_functions.html | first_class_functions.js
- Immediately Invoked Function Expressions (IIFE): iife.html | iife.js
- Closures: closure.html | closure.js | closure.pdf - view or download
- Bind, Call & Apply: bind_call_apply.html | bind_call_apply.js