JAVASCRIPT, OOPS & DESIGN PATTERNS

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