Advanced JavaScript Programming

Course description

Overview: Students who are already familiar with the fundamentals of JavaScript programming will learn how to develop scripts that are modular, easily maintainable, and compatible with multiple browsers. Students will learn debugging techniques and how to use advanced programming features such as custom objects, arrays, and cookies. Students will also learn how JavaScript communicates with other software such as applets and server-side scripts.

Prerequisites: JavaScript Programming or equivalent knowledge.

Performance-based objectives

Lesson objectives help students become comfortable with the course, and also provide a means to evaluate learning. Upon successful completion of this course, students will be able to:

*     Debug and maintain JavaScript code libraries.

*     Develop Web pages that display different content or execute different code based on the version of JavaScript that is present on the Web client.

*     Create custom objects with custom methods and properties.

*     Create, read to, write from, and delete single and multi-dimensional arrays.

*     Store, retrieve, and delete cookies.

*     Write JavaScript code to communicate with Java applets, ShockWave movies, ActiveX controls, and server applications.

Course content

Lesson 1: Programming techniques

Toward ease of maintenance

Debugging JavaScript code

Lesson 2: Cross-browser compatibility

Supporting multiple browsers

Dealing with browsers that do not support JavaScript

Detecting browser and JavaScript versions

Object detection

Custom error handlers

Lesson 3: Custom Objects

Introduction to objects

Constructor functions

Methods

Lesson 4: Arrays

Introduction to arrays

Creating and populating arrays

Deleting array elements

Multi-dimensional arrays

Lesson 5: Cookies

Introduction to the Cookie object

Storing cookies

Reading and processing cookie values

Deleting cookies

Lesson 6: Communicating with applets and server applications

Communicating with Java applets

Communicating with ShockWave applets

Communicating with ActiveX

Communicating with server applications