New Toronto Group

Advanced JavaScript Programming Training Course New Toronto Group

Description

In this Advanced JavaScript Programming class, you will learn advanced JavaScript techniques and good standard coding conventions. You will also learn advanced form validation with Regular Expressions, to manipulate the HTML DOM and to create jump menus and cascading select menus. Finally, you will learn to manipulate CSS with JavaScript to create applications using Dynamic HTML. 

The learning goals for this course are as follows:

  • Review JavaScript functions and the DOM.
  • Introduce / Review XMLHttpRequest and JSON.
  • Learn to use advanced techniques, such as anonymous function.
  • Learn to use regular expressions for advanced form validation.
  • Learn to create dynamic forms with JavaScript.
  • Learn to create dynamic web applications with JavaScript and Dynamic HTML.
  • Learn to check for browser support on a feature by feature basis.
  • Learn to create dynamic menus.
  • Learn to create stunning visual effects with Dynamic HTML.
  • Learn to position elements dynamically.
  • Learn to modify content on the fly.

 

Cost

Duration

2 Days

Classes

Register for NTG Training

Advanced JavaScript Programming Training Course

Date:

Location:

Price:

New Toronto Group

4 Robert Speck Parkway, Suite 240

Mississauga ON L4Z 1S1,

Canada

 

Toll Free: 866-464-7790

Office: 905-897-7790

Fax: 905-897-9952





After pressing Submit, someone from New Toronto Group will call/email to confirm registration details, answer questions and take payment.


Prerequisites

Experience in the following areas is required:

  • HTML
  • Basic JavaScript

Experience with CSS would also be beneficial.

Outline

Module 1: Quick JavaScript Recap

  • Primitive data types
    • Null
    • Undefined
    • Boolean
    • Number
    • String
  • Native Types
    • Date
    • Array
    • Object
    • Regular Expressions
  • Functions
  • The DOM
    • The DOM is not JavaScript
    • JavaScript is not the DOM
    • The window object
  • The XMLHttpRequest object
  • JSON

Module 2: Advanced Techniques

  • Optional Function Arguments
  • Truthy and Falsy
  • Default Operator
    • Default Operator Gotcha!
  • Functions Passed as Arguments
  • Anonymous Functions
  • Inner Functions
  • Observing and Capturing Events
  • The eval() Function
  • Variable Scope
  • Error Handling
    • Runtime Errors
  • The delete Operator

Module 3: Regular Expressions

  • Getting Started
    • JavaScript's Regular Expression Methods
    • Flags
    • String Methods
  • Regular Expression Syntax
    • Start and End ( ^ $ )
    • Number of Occurrences ( ? + * {} )
    • Common Characters ( . \d \D \w \W \s \S )
    • Grouping ( [] )
    • Negation ( ^ )
    • Subpatterns ( () )
    • Alternatives ( | )
    • Escape Character ( \ )
  • Backreferences
  • Form Validation with Regular Expressions
  • Cleaning Up Form Entries

Module 4: The HTML Document Object Model

  • innerHTML
  • Accessing Element Nodes
    • getElementById()
    • getElementsByTagName()
    • getElementsByClassName()
    • querySelectorAll()
    • querySelector()
  • Accessing Element and Text Nodes Hierarchically
  • Attaching Events
    • Event Propagation: Capturing and Bubbling
    • Detaching Events
  • Accessing Attribute Nodes
    • getAttribute()
    • attributes[]
  • Accessing Nodes by Type, Name or Value
    • nodeType
    • nodeName
  • Removing Nodes from the DOM
    • DOM Differences: The Whitespace Problem
  • Creating New Nodes
  • Identifying the Target of an Event

Module 5: Dynamic Forms

  • Jump Menus
    • The options[] Collection
    • The selectedIndex Property
    • Disabling Form Elements
  • Adding Options to a Select Menu
  • Cascading Select Menus
    • Making the Code Modular
  • Creating a JavaScript Timer
  • A Sample Quiz Tool

Module 6: Dynamic HTML

  • Introduction
  • Accessing and Modifying Styles
  • JavaScript style Properties
  • Hiding and Showing Elements
  • Manipulating Tables
  • Dynamically Changing Dimensions
    • Creating a Timed Slider
  • Positioning Elements Dynamically
    • Creating a Different Timed Slider
  • Changing the Z-Index
  • A Note on JavaScript Frameworks