Programming with JavaScript
Course
Online
Description
-
Type
Course
-
Methodology
Online
From the simplest webpage to complex Enterprise scale web applications Javascript is an essential skill for any developer or designer. This course takes an in-depth look, from first principals in how to effectively program javascript through to best practices for large scale reusable code libraries. Whether you are new to programing and need to learn how to wrangle the powerful and flexible language or you are an experienced Object Orientated programmer, who needs to understand why and how Javascript you will find this course an essential skill. Learning Objectives Delegates will learn how to •Add javascript to a web page and cope with non-scripting browsers
•Write code that is efficient and robust
•Perform validation using javascript and HTML forms
•Create image rollovers and other dynamic image techniques
•Define their own javascript object types
•Create complex applications incorporating multiple windows and frames
•Use javascript to create dynamic HTML
•Write cross-browser javascript code
•Create sophisticated Web pages using javascript
•Use javascript in AJAX scenarios
About this course
Delegates must be familiar with HTML and CSS with around six months experience and a skillset equivalent to Building an Effective Web Site. Some familiarity with programming would be beneficial and we recommend Programming Foundations to new developers.
Reviews
Subjects
- Programming
- Web
- Image
- Ajax
- Javascript
- HTML
- Javascript training
Course programme
Day 1 - Core Javascript
Module 1 - Introduction to Javascript
- What is javascript
- How to place script in a web page
Module 2 - Types
- Understanding javascript types
- Learning to check for type
- Defending against Type mutation
Module 3 - Flow of Control
- If statements
- Loops
- Switch statements
Module 4 - Functions, Arrays and Objects
- Arrays
- What are arrays
- Creating Arrays
- Accessing Arrays
- Functions
- What are functions
- Creating functions
- Calling functions
- Functions and scope
- Objects
- Creating Objects
- Accessing Objects
Module 5 - Error Handling and Debugging
- Understanding the Error object
- The Inbuilt Error types
- Creating resilient code using try/catch statements
- Throwing Errors
- In Browser Debugging
- Firebug for Firefox
- Dragonfly for Opera
- Developer Tools for IE
- Developer Tools for Safari
- Developer Tools for Chrome
- Console Debugging
- Logging to the console
- Breakpoints
Day 2 - DOM and UI programing
Module 6 - The DOM
- Why the DOM
- Using the DOM
- Selecting elements
- CSS3 Selector patterns
- Generating new content
Module 7 - CSS
- Understanding the style object
- Manipulating appearance with selectors
- Positioning
- Reading and setting CSS properties
- CSS Classes and Javascript
- The calculated style of an object
- Adding and removing classes
Module 8 - The Browser Object Model
- What is the BOM
- Cross-browser issues
- The 'core' BOM
- The window object
- Global scope variables
- Other BOM objects
- The location object
- The history object
- Document methods
- Cookies
- The Screen object
- The viewport
- Window objects
Module 9 - Event Handling
- Understanding javascript events
- Subscription models
- Inline
- Programmatic
- Event listeners
- Event bubbling and capturing
- The Event object
- The 'this' keyword
- Legacy browsers
Module 10 - Forms and Regular Expressions
- Understanding forms
- What are forms
- HTML hierarchy
- Selecting form elements
- Accessing form elements
- Form events
- Control Events
- Regular expressions
- What is RegEx
- Using RegEx to analyse data
- HTML5 forms
Day 3 - Scalable Robust and Resuable Javascript
Module 11 - Timers and Asynchronous programing
- What are timers
- Introduction to threading
- Timer types
- setInterval
- setTimeout
- Common timer issues
- Scope
- Latency
- Workload
Module 12 - Functions and Closures
- Advanced function design
- Closures
- What are closures and how do they work?
- Using closures to simplify development
- Parameters
- Self-executing functions
- Strict mode
Module 13 - Object Orientated Javascript
- Objects revisited
- Creating your own objects
- Constructors
- Prototypes
- Chaining objects
- Overloading and overriding
- With statements
- Sealing objects
Day 4 - Data, cross Browser development, best practice and deployment
Module 14 - JSON and AJAX
- The need for AJAX
- JSON, XML and CSV
- Encoding into JSON
- Using AJAX
- Deserializing JSON
- Creating client side data structures
Module 15 - Cross Browser Development
- The cross browsers issue
- The terrifying and horrific nature of cross browser development
- Choosing what browsers to support
- Browser grading
- Progressive enhancement
- Browser vs. feature detection
- Why never to use browser detection
- Conditional scripts in IE
- Writing cross browser defensive code
- Handling legacy addEvent patterns in IE
Module 16 - Modular design, minification and Obfuscation
- Building better code with lint
- Optimising for deployment:
- Amalgamating
- Minification
- Deflating
Module 17 - Introducing jQuery
- What is jQuery?
- Selecting elements with jQuery
- Manipulating properties with jQuery
- Events with jQuery
Programming with JavaScript