gitextract_xiiafr5j/ ├── .gitignore ├── README.md ├── advanced/ │ ├── 1. call-apply-bind-methods/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ ├── example5.js │ │ │ └── example6.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ └── practice2.md │ │ └── README.md │ ├── 2. factory-pattern/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ └── example5.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ ├── practice2.md │ │ │ └── practice3.md │ │ └── README.md │ ├── 3. constructor-pattern/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ ├── example5.js │ │ │ └── example6.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ ├── practice2.md │ │ │ └── practice3.md │ │ └── README.md │ ├── 4. prototype/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ ├── example5.js │ │ │ └── example6.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ ├── practice2.md │ │ │ └── practice3.md │ │ └── README.md │ ├── 5. prototypical-inheritance/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.md │ │ │ ├── example2.md │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ ├── example5.js │ │ │ └── example6.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ └── practice2.md │ │ └── README.md │ ├── 6. event-loop/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ └── example5.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ ├── practice2.md │ │ │ └── practice3.md │ │ └── README.md │ ├── 7. garbage-collector/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ ├── example5.js │ │ │ └── example6.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ ├── practice2.md │ │ │ └── practice3.md │ │ └── README.md │ └── README.md ├── basic/ │ ├── 1. execution-context/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ ├── example5.js │ │ │ ├── example6.js │ │ │ └── stackOverflow.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ └── practice2.md │ │ └── README.md │ ├── 10. browser-storage-and-caching/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ └── example2.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ ├── 11. debouncing-and-throttling/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.html │ │ │ └── example2.html │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ ├── 12. use-strict/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ └── example2.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ ├── 13. iife-in-javascript/ │ │ ├── Examples/ │ │ │ ├── example1.js │ │ │ └── example2.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ ├── 2. scope/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ └── example4.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ ├── 3. hoisting/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ ├── example5.js │ │ │ ├── example6.js │ │ │ └── example7.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ ├── 4. closure/ │ │ ├── Examples/ │ │ │ ├── Anonymous_fn_with_lexical_scope.js │ │ │ ├── Closure_In_InnerFunction.js │ │ │ ├── README.md │ │ │ ├── closure.js │ │ │ ├── closure_scope_chain.js │ │ │ ├── emulating_private_methods_with_closures.js │ │ │ ├── example_for_understand_usecase_of_closure.js │ │ │ └── solve_var_functional_scope_issue_using_closure.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ ├── 5. call-by-value-and-call-by-reference/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ ├── example3.js │ │ │ ├── example4.js │ │ │ └── example5.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ └── practice2.md │ │ └── README.md │ ├── 6. callback-and-higher-order-functions/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.js │ │ │ ├── example2.js │ │ │ └── example3.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ ├── 7. this-keyword/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── this_in_constructor_invocation.js │ │ │ ├── this_in_function_context_with_use_strict.js │ │ │ ├── this_in_function_context_without_use_strict.js │ │ │ ├── this_in_global_context.js │ │ │ ├── this_in_method_invocation.js │ │ │ └── this_in_method_invocation_with_bind.js │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ ├── 8. event-capturing-and-bubbling/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.md │ │ │ ├── example2.md │ │ │ ├── example3.md │ │ │ └── example4.md │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ ├── practice1.md │ │ │ └── practice2.md │ │ └── README.md │ ├── 9. event-delegation-and-propagation/ │ │ ├── Examples/ │ │ │ ├── README.md │ │ │ ├── example1.md │ │ │ ├── example2.md │ │ │ └── example3.md │ │ ├── Interview Questions/ │ │ │ └── README.md │ │ ├── Practices/ │ │ │ ├── README.md │ │ │ └── practice1.md │ │ └── README.md │ └── README.md └── projects/ ├── README.md ├── big-bang/ │ ├── index.html │ └── index.js ├── blurry-loading/ │ ├── index.html │ ├── script.js │ └── style.css ├── expanding-cards/ │ ├── index.html │ ├── script.js │ └── style.css ├── modal/ │ ├── app.js │ ├── index.html │ └── style.css └── snake-eye/ ├── index.html └── index.js