JavaScript Programming Essentials

Course:  JSCP01
Duration:  4 Days [note]
Level:  II
Course Summary

JavaScript is the mechanism for creating today's "Web 2.0" pages that emphasize effective and responsive feedback and help to the user. It's also the key technology for implementing AJAX-enabled web applications.

This course begins by developing JavaScript as a general programming language, then develops the essential web-programming concepts of Event-Based Programming, the DOM, and Client/Server interactions in Web Applications. Each of these lead to specific JavaScript programming techniques commonly used in client-side application programming, strongly focusing on user input validation and feedback. All techniques are implemented using only standards-based programming that works across all popular browsers. Popular open-source libraries are introduced to enable very advanced DHTML techniques such as dynamic visual effects, drag-and-drop, and dynamic data loading using AJAX.

In addition to experience implementing the programming techniques, the workshops introduce many of the most widely used tools and techniques for JavaScript programming and debugging, allowing each delegate to identify and work with tools suited to their own environment.

« Hide The Details
Topics Covered In This Course

What Is JavaScript?

  • What you can and can't do with JavaScript
  • JavaScript's role in a "Web Application"
  • Cross-Browser and Security issues

Getting Started With JavaScript

  • Tools and Development Processes
  • Sources For Getting Help
  • Your First JavaScript Program

JavaScript Language Basics

  • Strings, Numbers, Booleans
  • Literals and Operators
  • Conditional Expressions
  • Using JavaScript In A Browser

JavaScript Language Control Structures

  • Complex Statements
  • For and While Loops
  • Multi-Way Branching
  • Functions
  • Scope of Variables

Beyond Simple Variables

  • Arrays (Lists)
  • Objects (Lookup Tables, Maps)
  • Iterator Loops
  • Built-In Browser and Utility Objects and Functions

Integrating With HTML: Event Driven Programming

  • You're Not In Control Anymore
  • Best Approaches To Event Handling
  • What's "this"?
  • Accessing Form Elements
  • Accessing HTML Elements Without Events

Handling Forms

  • Form and Input Elements
  • Form Submission
  • Client-Side Validation
  • Change Event (Immediate Validation)
  • Using Regular Expressions

Adding Some Style

  • The CSS Box Model
  • CSS Selectors
  • Controlling Size, Position, Visibility
  • User Feedback For Form Validation

Really Integrating With HTML: The DOM

  • DOM/XML Terminology
  • Dynamic HTML
  • The "innerHTML" Property
  • The "className" and "style" Properties
  • Event Properties And Methods
  • Frequently-Used DHTML Recipes

Cookies and Data Sharing

  • What's A Cookie Good For?
  • Accessing Cookies From JavaScript
  • Alternatives To Cookies

A Little Help From Your Friends

  • Why Use Libraries?
  • Prototype: Simplifying DOM Access
  • Scriptaculous: Effects, Lists, Drag-And-Drop

Using AJAX

  • The "XMLHttpRequest" Object
  • Prototype's "Ajax" Object
  • Where AJAX Adds Value
  • Talking Data Rather Than Content

Object-Oriented Programming

  • Why Use OO JavaScript?
  • Defining A "Class"
  • Event Handlers In Objects
  • Namespace Objects
What You Can Expect
  • Thoroughly understand JavaScript syntax, and be aware of JavaScript's strengths and weaknesses as a programming language.
  • Recognize and implement good coding practices that appropriately combine JavaScript, HTML and CSS.
  • Be able to use JavaScript and browser utility objects and methods to control the browser, and to simplify application code.
  • Understand the standard ways of accessing the HTML DOM via JavaScript to modify content and provide an improved user experience.
  • Be able to design and implement efficient client-side validation of forms, and use DHTML techniques to provide effective user feedback.
  • Experience with using the Prototype and Scriptaculous libraries to easily implement advanced ("Web 2.0") DHTML techniques.
  • Understand when and how to apply AJAX techniques in a web application.
  • Be able to use JavaScript's OO features to define and instantiate objects that simplify client-side programming and data management.
Recommended Prerequisites

All delegates must have a good understanding of basic HTML syntax and document structure − experience with creating static web-pages that include simple forms, tables and images without using a WYSIWYG-style page authoring tool. All delegates should also have basic programming experience using any popular programming language.

Training Style

Instructor-led but group-paced, the course alternates short demonstration-oriented lecture sessions with structured hands-on workshops. This is a programming-oriented course, and intense workshop participation will prove to be essential in achieving the course's objectives.

« Hide The Details
Related Courses
Code Course Title Duration Level
DOJO
Dojo Development
3 Days
I
Details
JQRYF
jQuery Fundamentals
3 Days
I
Details
RSPWD1
Introduction To Responsive Web Design
4 Days
I
Details
JQRYM
jQuery Mobile
3 Days
I
Details
JQUERY
jQuery Development
3 Days
I
Details
JQRYC
Comprehensive jQuery Training
3 Days
I
Details
HTML5
Web Application Development Using HTML5
4 Days
II
Details
AJAX
AJAX - Building Web Applications with AJAX
4 Days
II
Details
JSAP01
JavaScript Advanced Programming
2 Days
II
Details
WEBAPI
HTML5 Advanced APIs
3 Days
III
Details

Every student attending a Verhoef Training class will receive a certificate good for $100 toward their next public class taken within a year.

You can also buy "Verhoef Vouchers" to get a discounted rate for a single student in any of our public or web-based classes. Contact your account manager or our sales office for details.

Schedule For This Course
There are currently no public sessions scheduled for this course. We can schedule a private class for your organization just a couple of weeks from now. Or we can let you know the next time we do schedule a public session.
Notify me the next time this course is confirmed!
Can't find the course you want?
Call us at 800.533.3893, or
email us at [email protected]