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)
- type of 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.
Venue: LIVE Online
Address:
Description:
Live Online Training
Get the same training you expect in the classroom without leaving your office or home. These are NOT recorded classes. They are LIVE sessions with an expert instructor. We use the latest in video conferencing technologies and audio so you can confidently participate in any class just like being right there in person. We guarantee the effectiveness of our online training delivery approach that we will give you your money back if you are not totally satisfied. Ask us for a demo.
Online class requirements:
- Moderate to fast Internet
- A phone or computer headset is required in order to hear the instructor/moderator). You can use Computer Audio (VoIP) or you can dial in from a regular phone. For convenience, we recommend a hands-free headset or phone.
- Training software must be installed on your computer (trial versions are acceptable)
- RECOMMENDED: Dual Monitors or computers. For optimal online learning experience, we recommend participants have dual monitors or two computers. Your online classroom credentials allow you to join multiple times from multiple computers. Participants should use one monitor or computer to view the instructor’s shared screen and another monitor or computer to work with the software.
What happens when you enroll in an online class
When you register for an online class, you will receive a welcome email followed by login access to the Citrix GoToTraining virtual classroom. A workbook (printed copy or eBook) will be sent to you prior to the start of class.
Online Training Advantages
Convenience: You don’t have to travel and can attend from your home, office or anywhere with an internet connection. Our online classes are conducted using GoToTraining, a more robust version of the popular GoToMeeting screen sharing and conferencing platform. To accommodate multiple time zones, courses are typically scheduled from 10am – 5pm Eastern with a one-hour lunch break at 12:30 – 1:30 pm Eastern and a 10-minute break in the morning and afternoon. When conducting custom online course for your group, class times can be modified to accommodate your timezone.
Interactive Learning: Our online training is fully interactive. You can speak and chat with the instructor and classmates at any time. Various interactive techniques are used in every class. Our small class sizes (typically 4 – 8 students), allow our instructors to focus on individual performance and issues and to work closely with you to meet your unique needs. Classes are designed to be a hands-on learning experience, providing opportunities for you to try your new skills while the instructor is available for review, questions, and feedback. You have the option to give the instructor permission to view your computer to provide one-on-one assistance when needed.