Advanced JavaScript™ with Prototype and script.aculo.us
Private Training Price : $7995 for up to 3 students*
*Additional students subject to a nominal fee
- Advanced JavaScript with Prototype and script.aculo.us Summary
-
In this Advanced JavaScript course, students learn to write production-grade JavaScript using object-oriented programming techniques and good standard coding conventions. The course starts with coverage of advanced function usage including variable arguments, passing a function as an argument, and anonymous functions. From there, students will learn to use JavaScript in an object-oriented fashion. Next, they will see how to create an object by replicating another object with prototyping. Students will then learn to catch errors, debug and test, and properly document code. The course ends with two chapters that examine the Prototype and script.aculo.us libraries.
Audience: Experienced programmers who want to increase their knowledge of JavaScript.
Prerequisites: Previous experience in JavaScript, HTML and CSS is required.
Class Length: 3 days
- Advanced JavaScript with Prototype and script.aculo.us Objectives
-
- Call functions with a variable number of parameters.
- Pass a function as an argument to another function.
- Create anonymous functions.
- Create JavaScript objects to encapsulate data and behavior.
- Differentiate between class-based and prototype-based programming.
- Create objects by replicating another object with prototyping.
- Handle JavaScript runtime errors.
- Debug a JavaScript program with Firebug.
- Write production-grade JavaScript for high performance.
- Document code with the JsDoc Toolkit.
- Take advantage of Prototype to speed up development.
- Use script.aculo.us to create dynamic affects.
- Advanced JavaScript with Prototype and script.aculo.us Detailed Outline
-
- JavaScript Recap
- Primitive Data Types
- Native Types
- Functions
- The DOM is not JavaScript
- The XmlHttpRequest Object
- Advanced Techniques
- Optional Function Arguments
- Truthy and Falsy
- Default Operator
- Functions Passed as Arguments
- Anonymous Functions
- Inner Functions
- The eval() Function
- Variable Scope
- Object-Oriented Aspects of JavaScript
- Why Create JavaScript Objects?
- Building Objects
- Declaring Objects
- Using Factory Functions
- Constructors
- Memory Usage
- The Perils of “this”
- Calling or Applying Functions
- Extending Existing Objects
- Merging Objects
- Dynamic Languages
- Private Members
- Prototype-Based Programming
- Class-Based Programming
- Prototyping
- Prototypal Inheritance
- Overriding Properties
- Constructor Functions and Prototypes
- Altering the Prototype
- Extending Standard JavaScript Objects
- Error Handling and Debugging
- Runtime Errors
- Completely Unhandled Errors
- Globally Handled Errors
- Structured Error Handling
- Throwing Custom Errors
- Debugging
- Firebug
- Production Grade JavaScript
- JavaScript Delivery
- Performance Implications
- Documenting JavaScript
- Coding Standards
- Checking Code with JSLint
- Unit Testing JavaScript
- The Prototype Library
- Creating Classes
- Class Inheritance
- The $() Function
- The $$() Function
- The $F() Function
- The $A() Function
- The $H() Function
- The $R() Function
- The Try.these() Function
- String Substitutions
- String Templates
- DOM Manipulation
- The Ajax Object
- The Ajax.Request Class
- The Ajax.Updater Class
- What Are All Those “?” and Squares?
- Enumerating
- Loops, Ruby-style
- Your Arrays on Steroids
- Handling Events
- Observing Events
- DOM Loaded
- Event Information
- Official Site
- Reference for Prototype
- script.aculo.us
- Including script.aculo.us in the Page
- Core Effects
- Combined Effects
- Effects Potpourri
- Common Effect Options
- Dragging, Sorting, and Dropping
- Droppables
- Sortables
- Controls
- Autocompleter
- InPlaceEditor
- JavaScript Recap



