| [ Web Proxy ] |
| Viewing: https://ch-sriram.github.io/JavaScript/ | [Back] [Original] |
Implementation & Explanation of Beginner to Advanced JavaScript Concepts [ES5 & ES6]. [HitCount]
Resources:
More resources will be added depending on the usefulness of the resource.
These are the projects that are implemented using JavaScript as a proof of concept.
| Pig - dice game: Live here | GitHub Repo |
| Budgety - budget app: Live here | GitHub Repo |
| Forkify - online recipe search: Live here | GitHub Repo |
Syntax - <topic name>: <html file> | <JavaScript file>
| 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 |
| Execution Context & Execution Stack: exec.html | exec.js |
| Hoisting: hoisting.html | hoisting.js |
| Scoping & Scope Chain: scope.html | scope.js | scope.pdf - view or download |
The this Keyword: this.html |
this.js |
| Adding Game State: app.js final version (Easy) | Play the game @CodeSandBox |
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 |
| Coding Challenge VII: challenge_7.html | challenge_7.js |
| Event Bubbling, Target Element & Event Delegation: eventDelegation.html | eventDelegation.pdf - view or download. Reading of eventDelegation.pdf required before understanding the code from Budgety App (k) and thereafter. |
keypress Events & event Object: app.jsHTML Input Data w. Separation of Concerns: app.jsinnerAdjacentHTML() method & replace() method: app.jsquerySelectorAll() method, Conversion of NodeList to Array & the usage of forEach() method: app.jsparentNode property: app.jsmap() and splice() methods on an array: app.jsremoveChild(): app.jsprototype to define a method in a predefined function constructor: app.jsforEach() for NodeList instead of array: app.jsDate object constructor: app.jschange events: app.jsVariables declared using let & const: let_const.html |
let_const.js |
| Blocks & IIFEs: block_iife.html | block_iife.js |
| Strings & String Functions: strings.html | strings.js |
| Arrow Functions Intro: arrow_func.html | arrow_func.js |
Arrow Functions - Lexical this Keyword: arrow_func_this.html |
arrow_func_this.css | arrow_func_this.js |
| Destructuring: destructuring.html | destructuring.js |
| Arrays in ES6 (ES2015): arrays.html | arrays.css | arrays.js |
The Spread ... Operator: spread.html |
spread.css | spread.js |
| Rest Parameters: rest.html | rest.js |
| Default Parameters: default.html | default.js |
The Map Data Structure: map.html |
map.js |
classes (Syntactic Sugar): class.html |
class.js |
Inheritance - Classes & Subclasses (ES5 - Object.create() / ES6 - extends): inheritance.html |
inheritance.js |
| Challenge VIII: challenge8.html | challenge8.js |
| Understanding Asynchronous JS, The Event Loop: event_loop.html | event_loop.pdf - view or download |
From Callback Hell to Promises: promise.html |
promise.pdf - view or download |
Promises to async/await in ES8/ES2017: async_await.html| AJAX & API - What do they mean? : ajax_api.html | ajax_api.pdf - view or download |
fetch() and
Promises: fetch_promise.html |
fetch_promise.js |
async/await: fetch_async_await.html |
fetch_async_await.js |
| An Overview of Modern JavaScript: overview.html | overview.pdf - view or download |
| A Modern Setup Installing Node.js and NPM: nodejs.html | package.json | nodejs.pdf - view or download |
| A Modern Setup Configuring Webpack: webpack.html | index.js | test.js | webpack.config.js | package.json | bundle.js | webpack.pdf - view or download |
| A Modern Setup Configuring Webpack Dev Server: webpack_dev_server.html | index.js | test.js | webpack.config.js | package.json | index.html | bundle.js | webpack_dev_server.pdf - view or download |
| A Modern Setup Configuring Babel: babel.html | index.js | test.js | package.json | bundle.js | babel.pdf - view or download | tooling_changes_babel.html |
| Common Markup & Styling: ./dist/index.html | ./dist/css/style.css | Forked from: Jonas Schmedtmanns Starter Code @GitHub |
| MVC Architecture: forkify_mvc.html | forkify_mvc.pdf - view or download |
| How ES6 Modules Work: ./src/js/index.js | ./src/js/models/Search.js | ./src/js/views/searchView.js |
Building the Search Model Using ES6 classes: ./src/js/index.js |
./src/js/models/Search.js |
| Building the Search Controller (keeping in mind, the application state): ./src/js/index.js | ./src/js/models/Search.js |
| Rendering the Results onto the front-end: ./src/js/index.js | ./src/js/models/Search.js | ./src/js/views/searchView.js | ./src/js/views/base.js |
Using the reduce() & join() methods to limit the Recipe Title: ./src/js/index.js |
./src/js/models/Search.js | ./src/js/views/searchView.js | ./src/js/views/base.js |
| Rendering the Loading Spinner: ./src/js/index.js | ./src/js/models/Search.js | ./src/js/views/searchView.js | ./src/js/views/base.js |
Setting Up Pagination Using Element.closest(), Event Delegation and data-* attribute in HTML5: ./src/js/index.js |
./src/js/models/Search.js | ./src/js/views/searchView.js | ./src/js/views/base.js |
| Building the Recipe (Data) Model [Part 1]: ./src/js/index.js | ./src/js/models/Recipe.js |
Building the Recipe Controller Using the hashchange Event: ./src/js/index.js |
./src/js/models/Recipe.js |
Building the Recipe (Data) Model [Part 2] Using the eval() and map() methods & Map object: ./src/js/index.js |
./src/js/models/Recipe.js |
| Looping inside a Template String to generate HTML: ./src/js/index.js | ./src/js/models/Recipe.js | ./src/js/views/recipeView.js | ./src/js/views/base.js |
Using 3rd Party API ([fractional](https://github.com/ekg/fraction.js/)) to convert the Quantities into a Fraction & Highlighting the Selected Recipes using classList property: ./src/js/index.js |
./src/js/models/Recipe.js | ./src/js/views/recipeView.js | ./src/js/views/searchView.js | ./src/js/views/base.js | package.json |
Updating Recipe Servings Using Event Delegation (matches() method): ./src/js/index.js |
./src/js/models/Recipe.js | ./src/js/views/recipeView.js | ./src/js/views/base.js |
Building the Shopping List (Data) Model Using [uniqid](https://github.com/adamhalasz/uniqid): ./src/js/index.js |
./src/js/models/List.js | package.json |
| Building the Shopping List View (Front-End): ./src/js/index.js | ./src/js/views/listView.js | ./src/js/models/List.js | ./src/js/views/base.js |
| Building the Shopping List Controller: ./src/js/index.js | ./src/js/views/listView.js | ./src/js/models/List.js | ./src/js/views/recipeView.js | ./src/js/views/base.js |
| Building the Likes (Data) Model: ./src/js/index.js | ./src/js/models/Likes.js |
| Building the Likes Controller: ./src/js/index.js | ./src/js/models/Likes.js | ./src/js/views/base.js |
| Building the Likes View (Front-End): ./src/js/index.js | ./src/js/views/likesView.js | ./src/js/views/recipeView.js | ./src/js/views/searchView.js | ./src/js/models/Likes.js | ./src/js/views/base.js |
Implementing Persistent Data With localStorage() API and Implementing Delete All Shopping Items Functionality Lists Model, View & Controller: ./src/js/index.js |
./src/js/views/likesView.js | ./src/js/views/searchView.js | ./src/js/views/listView.js | ./src/js/models/Likes.js | ./src/js/models/List.js | ./src/js/views/base.js |
| Models: ./src/js/models/Search.js | ./src/js/models/Recipe.js | ./src/js/models/List.js | ./src/js/models/Likes.js |
| Views: ./src/js/views/searchView.js | ./src/js/views/recipeView.js | ./src/js/views/listView.js | ./src/js/views/likesView.js |
| Config: package.json | webpack.config.js | .babelrc |
| Web Proxy Viewer | New URL | Original Page |