Introduction : Frameworks and web development
Need for JavaScript for Client Interaction
Variable, Statements Literals, Data types
Using Operators and Expressions
Control Structures: For, while, If and Else, switch, Conditional Statements
Objects and Properties
String Processing, Objects and Functions: , Built In Functions, User Defined Functions, Anonymous functions, Iterators and generators, Popup – Alert, Prompt and Options, Using Links, Arrays and Images
Working on Namespaces, Modules and packages
Working on Events and Timers
Code Clean Up, Using callbacks and closures Promise, Handling Exceptions
JavaScript Storage and sessions: Web Storage – Local and Session, History Objects, Cookie Objects
, Regular Expressions : Objects, Expressions , Patterns and Methods.
Codes Testing and Debugging. - Using Alerts. document.write, console.log
Object Oriented Programmming - Need for OOps
Object Fundamentals , Object members , This or current object, Defining and Creating Object, Constructors and object instances Instanceof
rivate and global Variables, Private, public, privileged, static and protected Methods . References , Hidden, Overloading , overriding and anonymous functions Function constructor with modules, Method attached to function constructor, Using Typeof to Determine the Type of an Object, Variables, context and Scope Reference Counting and Garbage Collection, Closures, Callback and Promise
Ways to create object instances (Object () Constructor and Create method .
), Object Properties, Object Prototypes Prototype Methods and properties,
Classes, Instantiation and Model, Constructor Property, Singletons,
Sub-classes and class inheritance, Prototype Inheritance or Prototypical Inheritance Delegation or Differential inheritance, Cloning or Concatenative inheritance,
Prototype Chain, Calling Parent Methods, Object property __Proto__ JavaScript difference between __proto__ and prototype, Creating Inheritance using ___proto___
Arrays & Objects: Creating a Simple Array, Creating a Multidimensional Array, Simulating a Hash Table for Fast Array Lookup, Converting Arrays and Custom Objects to Strings
DESIGN PATTERNS - Creational, behavioral, Structural Patterns
Module Pattern, Prototype Pattern, Observer Pattern, Publish/Subscribe, Singleton Pattern, Decorator Pattern, Factory Pattern, Bridge Pattern, Command Pattern, Façade Pattern, Adapter Pattern, Proxy Pattern, Flyweight design Pattern, Delegation design pattern, Lazy loading design pattern, Visitor design pattern, Builder Pattern, Mediator Pattern, Composite pattern, State pattern, Strategy pattern, Memento pattern, Chain of Responsibility Pattern, Template Method Pattern, Interpreter, Iterator
PERFORMANCE : JS Techniques and Handling Errors, functions with flexible number of arguments, Using the || as a coalescing operator, Passing functions as arguments to other functions, Anonymous functions, Merging objects, Using the [ ] operator to access object properties or methods, eval(),call() vs apply(), Creating a Named Function, Nesting Named Functions, Creating an Anonymous Function, Delaying a Function Call Branching Execution Based on Conditions, Handling Script Errors Gracefully, Improving Script Performance & Closures, Error handling, Augmenting Types, pseudoclass, cascades, curry, callback, module , recursion, Memoization and Obfuscation, Debugging JS and Unit Testing,
Loading and Execution : Nonblocking Scripts, Deferred Scripts, Dynamic Script Elements, Algorithms and Flow Control
Responsive Interfaces : Browser UI Thread, Timers and Web Workers , String and Regular Expression Optimization and Lazy Loading
Challenges and Issues and improvements
High-Performance JavaScript: Combining JavaScript Filesm Preprocessing JavaScript Files, JavaScript Minification, JavaScript Compression, Caching JavaScript Files, Caching Issues, Deploying JavaScript Resources and Agile JavaScript Build Process
Complexity of Javascript optimizations
JavaScript performance issues
Improving JavaScript Performance
Tools : JavaScript Profiling, YUI Profiles, Firebug, Console Panel, Profiler, Console API, Internet Explorer Developer Tools , Safari Web Inspector, Net, Profiles and Resources Panel, Chrome Developer Tools, Script Blocking Page Speed, Fiddler and YSlow
Complete project covering all concepts
Code Maintenance : Code Maintenance, Coding standards, Unicode issues, Documentation, Intro to JS Frameworks, Prototype/script.aculo.us, jQuery/jQuery UI & Yahoo User Interface