Name
JavaScript Programming

Code
3801

Duration
32 Hours

Description
Java Script is the most popular scripting language on the web. The support for executing Java Script code exists (fully or partly) in all major browsers, including Internet Explorer, Mozilla, Firefox, Netscape, Chrome, Safari, Opera and others. This course provides web developers with the knowledge and the skills to effectively use Java Script within their web pages.

Population
Software Developers.

Objectives
Become familiar with the Java Script language and be capable of developing simple Java Script applications, that function as integrated part of web applications.

Prerequisites
Be familiar with HTML basic elements and basic experience in software development.

Topics
Introduction
History
ECMA Script
HTML & Java Script
Integrated Development Environments
Web Browsers Debuggers

Basic Elements
Case Sensitivity
Identifiers
Keywords
Comments
Statements
Variables
Data Types
The typeof Operator
The undefined Type
The Null Value
The Boolean Type
The Number Type
The String Type
The Object Type
Operators
Unary Operators
Binary Operators
Boolean Operators
Relational Operators
Conditional Operators
Assignment Operators
The Comma Operator
The if Statement
The do while Statement
The while Statement
The for Statement
The foreach Statement
The with Statement
The switch Statement
Functions
Values
Dynamic Properties
Execution Scope
Garbage Collection
Template Strings
Variables Binding
Unescaped Template Strings
The let Keywords
The const Keyword
Unicode Format
Binary and Octal Literals
The repeat Method
Object Oriented Programming
Introduction to OOP
What is an Object?
The Object Type
Factory Design Pattern
Define Constructors
The prototype Property
The in Operator
The for-in Operator
Prototype Block
Simple Inheritance
Constructors Chaining
Prototype Update
Defining Class
The class Keyword
The extends Keyword
The constructor Keyword
The super Keyword
The toString Function
The static Keyword
Shorthand for Properties Assignment
Defining Methods
The super Keyword
Destructuring
Parameters Position
Fail Soft Destructuring
Symbol
Object.defineProperty
Symbol.for
Symbol.keyFor
The getOwnPropertySymbol Function
Well Known Symbols
Private Accessibility
Global Objects
The Object Type
The Array Type
The Date Type
The RegExp Type
The Function Type
The Number Type
The String Type
The Boolean TypeThe Global Built-in Type
The Math Built-in Type

Borwser Object Model
Introduction
Window
Location
Navigator
Screen
History

Document Object Model
Introduction
The nodeType Property
The nodeName & nodeValue Properties
The childNodes Property
The parentNode Property
The previousSibling Property
The nextSibling Property
The firstChild Property
The lastChild Property
Nodes Relationships
The ownerDocument Property

Events Handling
Introduction
Events Bubbling
HTML Events Handlers
Form Field Properties
Form Submitting
Errors Handling
The try & catch Statement
The finally Statement
The throw Statement
The Window onError Event
Handling Images
Rollover Images
Slideshows
Image Map
Java Script & CSS
Dynamically CSS Changes
Form Visual Feedback Validation
CSS Classes
Using Cookies
What is a Cookie?
Creating Cookies
Reading Cookies
The domain Property
The expires Property
The path Property
Regular Expressions
Introduction
RegExp Function
Practical Usage
Alternative Syntax
LiveConnect
Introduction
Practical Examples
Debugging
Introduction
Chrome
Firefox
Internet Explorer
Console
Debugging XHR Requests
DOM Elements as JavaScript Objects
Measuring Execution Time
Expressions Evaluating
Console Elements Selecting
Console Events Monitoring
Profiling Tools
Editing CSS Properties
The Matrix Pane
Mobile Devices Emulation
Memory Management
Introduction
Reference Counting
Mark & Sweep
Closure Memory Leaks
Asynchronous Programming
Introduction
Events Queue
Asynchronous Functions
JavaScript Loading
Idle Callback
JSON Parsing
Introduction
The JSON Object
Lambda Expressions
Introduction
Basics
Code Samples
Iterators
Introduction
Iterator Function
Code Samples
StopIteration Exception
Iterating The Keys
Iterable Objects
The for..of Loop
Code Linting
Introduction
JavaScriptLint
Reflection
Introduction
Reflect Object
Generators
Introduction
The yield Operator
Modules
Introduction
The export Keyword
The import Keyword
Data Structures
Introduction
Maps
Sets
TypedArrays

Proxies
Introduction
The Proxy Object
Traps
Code Samples
Promises
Introduction
Single Thread
The Event Loop
Events
Callback Pattern
Problems of Higher Complexity
Promise Basics
Promise Lifycycle
The then Method
The Promise Function Constructor
The catch Method

more