Programing with JavaScript

מק"ט: #42582 | משך קורס: 40 שעות אק'
| מספר מפגשים: 5

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.

הקורס פעיל לקבוצות מטעם ארגונים בלבד, ניתן לשלוח פנייה רק אם מדובר בקבוצה
*שדות חובה
PDF version

מטרות

  • Learn how to wrangle the powerful and flexible language
  • Understand why and how JavaScript

קהל יעד

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.

דרישות קדם

  • Delegates must be familiar with HTML and CSS with around six months experience
  • Some familiarity with programming would be beneficial

נושאים

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

 

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

 

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

 

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
  • Optimizing for deployment:
  • Amalgamating
  • Minification
  • Deflating

 

Module 17 – Introducing jQuery

  • What is jQuery?
  • Selecting elements with jQuery
  • Manipulating properties with jQuery
  • Events with jQuery
תגיות