WD-405: JavaScript

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

This course is designed to give students hands on experience writing any kind of JavaScript code whether it’s small scripts on web pages, libraries of code, other packages, or even working with jQuery.

Audience Profile

Programmers from another language who want to maintain or develop applications based on JavaScript.

At Course Completion

Students will have a background in how JavaScript differs from other languages and be able to understand basic coding constucts.

Outline

Introduction

pre-ECMAScript 1995

ECMAScript 1996 – 2011

ECMAScript 6 (ES6)

v8

Nashorn

Background

JavaScript trends

Development process choices

 

Scripting in HTML

Script tags

<noscript>

“use strict”

Output methods

Comments

 

Syntax & Variables

Code blocks

Statements

Variables

Identifiers

var

Block scope

Statement types

Variables get copied values

Data types

Strings (text)

boolean

truthy / falsey

Variables in scripts

Operators

Arithmetic

Relational

Logical

Logical – short circuit

Default and guard usage

Compound operators

If-else replacement (ternary op)

typeof

Operator precedence

 

Program flow

Program flow types

for loop logic

for syntax – init

for syntax – test

for syntax – step

Loop keywords – control

 

Debugging

console.*

console.log(a, b, c…)

console.table( )

Tips

debugger;

 

Functions

A process/function  model

Basics

Syntax

Naming

Using parameters

Calling functions

Pre-defined functions

Function scope

Function hoisting

Math

 

Program flow 2

Conditional basics

Conditionals

Nesting ifs

Checking values with switch

while loop

do while loop

 

Coding workflow

Name all your functions

Avoid closures

Use more and smaller functions

Check syntax & style

Strongly consider strict mode

 

Arrays

Creating + initializing

Accessing and length

Initializing

Sparseness

Array indexes  & properties

Associative arrays

The arguments array

Array of functions

Array-like objects

Array-like object à array

 

Program flow 3

Array looping

forEach and related - ES5

for loop

for-in

for-of - ES6

explicit iterators – ES6

 

Objects

Intro

A relational data structure

An object data structure

Relational vs. OO

Objects

this

Creating an object - object initializers

Creating an object – constructors

Using the properties

Adding functions

Composition

for-in

Treating objects like an array

 

DOM Objects

the DOM

A DOM tree of nodes

Document properties

Nodes

Selecting nodes

Selecting nodes

querySelector( )

querySelectorAll( )

Navigator properties

History properties

Window object

 

DOM manipulation

Intro

Traversal

Attributes – HTML

Attributes - non HTML

Content

Create, insert, delete nodes

 

Events & event handlers

Intro

Binding/registering event handlers

Register event handlers

Event type overview

Events in the handler

Events in the handler – IE8

Useful value properties

addEventListener( )

attachEvent( )

Default action / bubbling / propagation

 

Math, Number, and Date Objects

Randomizing

Random link

Number

Strings to numbers

Date

 

Strings

Intro

Manipulation

 

Regular Expressions

Intro

Resources

Metacharacters

Quantifiers (greedy)

Characters

Character classes

Predefined Character Classes

Lookaround

Capturing groups

Match flags - embedded / flag

Writing for JavaScript

Functions

 

jQuery

the jQuery datatype

Creations

Conversion

 

Libraries

General Utilities

Misc

Communciation

Charting

Mapping

Diagramming

Color

Misc

Resources

Prerequisites

HTML and CSS at a basic level.