Course Code: 895

Introduction to JavaScript

Class Dates:
1/1/0001
Length:
3 Days
Cost:
$1495
Class Time:
Technology:
Developer
Delivery:
Instructor-Led Training, Virtual Instructor-Led Training

Overview

  • Course Overview
  • This course teaches the fundamentals of JavaScript, the language of the Web. The material of the course covers everything you need to know to become proficient using JavaScript. You will learn JavaScript's core elements, as well as some popular JavaScript libraries, such as jQuery, Underscore and others. The course also covers such topics as JavaScript best practices, program debugging and testing.

    • JavaScript fundamentals
    • Working with various popular JavaScript libraries (Underscore, jQuery, etc.)
    • AJAX
    • Testing JavaScript
    • JavaScript performance
    • JavaScript best practices
  • Audience
  • Web Designers and Developers

Prerequisites

  • Participants should have the general knowledge of the front-end web development

Course Details

  • Chapter 1: Introduction to JavaScript
  • What JavaScript Is and Is Not
  • Not All JavaScripts are Created Equal ...
  • ECMAScript Language and Specification
  • What JavaScript Can and Cannot Do
  • JavaScript on the Server-side
  • Elements of JavaScript
  • Values, Variables and Functions
  • Embedded Scripts
  • External Scripts
  • Browser Dialog Boxes
  • What is AJAX?
  • Summary
  • Chapter 2: JavaScript Fundamentals
  • Variables
  • JavaScript Reserved Words
  • Dynamic Types
  • JavaScript Strings
  • Escaping Control Characters
  • What is False in JavaScript?
  • The Number Object
  • JavaScript Objects
  • Operators
  • Primitive Values vs Objects
  • Loops
  • Functions
  • Chapter 3: JavaScript DOM API
  • What is DOM?
  • Element Hierarchy
  • DOM Standardization
  • The Document Object
  • Nodes and Elements
  • The Element Object
  • Element Event Handlers
  • The Window Object
  • The Frame Object
  • The History Object
  • Chapter 4: JavaScript Functions
  • Functions Defined, Declared, and Arguments
  • Return Values
  • Multiple Return Values in ECMAScript 6
  • Optional Default Parameter Values
  • Emulating Optional Default Parameter Values
  • Anonymous Function Expressions
  • Functions as a Way to Create Private Scope
  • Linking Functions to Page Elements
  • Local and Global Variables
  • Declaring Object Methods
  • The arguments Parameter
  • Example of Using arguments Parameter
  • Chapter 5: JavaScript Arrays
  • Arrays Defined
  • Creating an Array
  • The length Array Member
  • Traversing an Array
  • Appending to an Array
  • Deleting Elements
  • Inserting Elements
  • Other Array Methods
  • Accessing Objects as Arrays
  • Chapter 6. Using Underscore JavaScript Library
  • What and Why Use Underscore.js
  • Underscore Functional Categories
  • Functional Programming
  • Imperative Programming in JavaScript
  • The JavaScript Map Examples
  • Collections Functions
  • The Arrays Category Functions
  • The union Arrays Function
  • The difference Arrays Function
  • The Objects Category Functions
  • The Utility Category Functions
  • Chapter 7. Advanced Objects and Functionality In JavaScript
  • Basic Objects
  • Constructor Function
  • Object Properties
  • Namespace
  • Functions are First-Class Objects
  • Closures
  • Immediately Invoked Function Expression (IIFE)
  • Inheritance in JavaScript
  • Prototype Chain
  • Traversing Prototype Property Hierarchy
  • Improving Constructor Performance
  • The hasOwnProperty Method
  • Chapter 8. jQuery Overview
  • How to Use jQuery
  • Benefits of Using a JavaScript Library
  • CSS Selectors
  • Background - DOM
  • The jQuery Function Object
  • The jQuery Wrapper
  • API Function Notation
  • Handling DOM Ready Event
  • xhtml Note
  • References
  • Unit Conclusion
  • Chapter 9. Selectors
  • Background: The Sizzle Selector Engine
  • Selecting Elements by Attribute
  • Pseudo-Selectors
  • Faster Selection
  • More on Chaining: .end()
  • Testing Elements
  • Saving Selections
  • JavaScript Methods
  • Function Context
  • Conclusion
  • Chapter 10. DOM Manipulation
  • The $ Function Revisited
  • Getters and Setters
  • The text() Element Method
  • Appending DOM Elements
  • Removing DOM Elements
  • Performance
  • Chapter 11. Events
  • Event Overview
  • Old School: Event Handling Using HTML Element Attributes
  • Unobtrusive JavaScript
  • Multiple Handlers
  • Using jQuery Wrapper Event Registration Methods
  • Event Propagation
  • Handlers for Elements Before They Exist!
  • The Event Object
  • Triggering Events
  • Chapter 12. Utility Functions
  • The jQuery Object Revisited
  • Functions May Have Methods
  • Example jQuery Utility Functions
  • Chapter 13. AJAX
  • Ajax Overview
  • The Browser & the Server
  • The Ajax Request
  • The Ajax Response
  • Sending an Ajax Request With jQuery - The General Case
  • Sending an Ajax Request With jQuery - Simpler, Typical Case
  • Data Types
  • Chapter 14. The JavaScript Console and The Console Object API
  • JavaScript Console in Browsers
  • Dev Tooling Support in Browsers
  • The IE Web Dev Tools Console
  • The Console API
  • Coloring Your Output
  • Using Console Commands
  • Chapter 15. Debugging JavaScript Code
  • Why to Debug JavaScript Code?
  • Debugging Tools in Browsers
  • Chrome's DevTools
  • The Debugging Controls on the Sources Panel
  • Debugging Actions
  • Selecting a JavaScript File To Debug
  • Setting and Removing Breakpoints
  • Programmatic Control During Debug Pauses
  • Breaking on Exceptions
  • Other Debugging Techniques
  • Breakpoints on JavaScript Event Listeners
  • Supported Events
  • Chapter 16. Exception Handling in JavaScript
  • Exception Handling
  • Try Syntax
  • The Finally Block
  • The Nested Try Blocks
  • Exceptions Types in JavaScript
  • The Throw Statement
  • Using the Error Object
  • Chapter 17. Testing JavaScript With Jasmine
  • What is Jasmine
  • Supported Integrations
  • Jasmine in Standalone Mode
  • Jasmine in Standalone Mode
  • The Spec Runner Page
  • Test Suites
  • Specs (Unit Tests) & Expectations (Assertions)
  • Matchers
  • Using the not Property
  • Test Failures
  • Simulating Exceptions
  • Asynchronous Calls
  • Chapter 18. JavaScript Performance and Best Practices
  • Leverage Modern JavaScript Libraries
  • Loading Scripts
  • JavaScript Code Minification
  • Use JavaScript Style Guides
  • Avoid Global Variables, Use Proper Scopes
  • Leverage HTML5 Web Workers
  • Performance Optimization Considerations
  • Performance Profiling
  • JavaScript Program Profilers in Browsers
  • Clean-up Your Code
  • Use Strict Mode
  • Equal or Not Equal
  • Chapter 19. Test Automation and Continuous Integration Systems For JavaScript
  • Continuous Integration, Build and Test Automation
  • What is Node.js
  • Node Package Manager
  • What is Grunt
  • Excerpt from Gruntfile.js
  • What is Bower
  • What is Karma
  • Working with Browser Launchers
  • Setting Up Path to Browser Binaries
  • TeamCity Build Management System
  • TeamCity Overview