Course outline for JavaScript
Pre-requisites for learning JavaScript
- Participants must be comfortable in some programming language preferably a scripting language
- Knowledge of HTML and CSS is required if you are interested in learning JavaScript in the browser
Lab Setup
Hardware Configuration
Participants must have access to a system with the following hardware configuration:
- 2GB of free RAM, 20GB of free disk space and full network connectivity
Software configuration
- Ubuntu 20.04/22.04 Desktop Edition (sudo/root access required)
- Firefox and Chrome browsers
Duration
2-5 days
Training Mode
Online training for JavaScript
We provide:
- Instructor led live training
- Self-paced learning with access to expert coaches
- 24x7 access to cloud labs with end to end working examples
All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.
Classroom training for JavaScript
Classroom sessions are conducted in client locations in:
- Bengaluru
- Chennai
- Hyderabad
- Mumbai
- Delhi/Gurgaon/NCR
Note: Classroom training is for corporate clients only
Detailed Course Outline for JavaScript
Introduction to JavaScript
- Why Java? Why Script?
- Important features of JavaScript
Basic Language Constructs
- Values
- Numbers
- Strings
- Booleans
- Objects
- null
- undefined
- Typing
- Reserved Words
- Comments
- Operators
- Statements
- Expressions
- Conditionals
- Looping
Objects
- Understanding Primitive Types
- Composite Types
- Object Internals ‐ Use of Hashtables
- Predefined objects
- Ways to create Objects
- Ways to iterate Objects
- Pass by reference
Functions and Functional Programming
- Function syntax
- Return values of functions
- Anonymous Functions
- Inner Functions
- Function Scope
- Globals and how to avoid them
- Functions as Objects
- call and apply
Arrays
- How JavaScript arrays are different
- Multidimensional arrays
Closures
- What are closures
- Examples of closures
- Practical uses of closures
- Emulating private methods using closures
Prototypes and Prototypal Inheritance
- Inheritance in JavaScript
- Difference from classical inheritance
- Constructor functions
- The prototype link
- The object Function
- The this keyword
JavaScript Programming Paradigms
- Object oriented programming in JavaScript
- Functional programming in JavaScript
- Aspect oriented programming in JavaScript
Document Object Model
- Introduction to DOM
- A little history of the web
- Levels (or types) of DOM
- Nodes
- Elements
- Attributes
- Text
- Comment
JavaScript and DOM
- Parsing XML in JavaScript
- Create elements
- Retrieve elements
- Delete elements
- Work with attributes
- A few examples
Event Handling in JavaScript
- Adding event handlers
- Asynchronous handling of events with callbacks
- Event bubbling
- Event capturing
JavaScript Libraries
- The need for libraries
- Handling cross-browser issues with JS libraries
- jQuery
- Node.js
- Angular
- React
- CSS Libraries
- Bootstrap
- CSS Resets
- Normalise.css
- HTML5 Boilerplate
- Less and Sass
AJAX and XMLHttpRequest
- The components - XMLHttp, JavaScript, XML (or JSON) and DOM
- Intelligent clients with AJAX
- Examples of AJAX usage
- The future - Websockets and real-time applications
Data Formats
- What are data formats?
- Difference from data structures
- Serialization and deserialization
- Maps as generic data containers