Introduction. WEEK 1. A SOUND FOUNDATION.
Day 1. Getting the Basics Right. Introducing JavaScript. JavaScript in Context. Selecting the Right Technology. JavaScript, Jscript, and ECMAScript. Let's Get Started. Data Types. Some Useful Tools.
Day 2. Working with Data. Simple Data Storage. Operators. JavaScript Operators.
Day 3. Functions and Statements. User Defined Functions. Predefined Global Functions. What Is a Statement? Control Statements. Loop Statements.
Day 4. JavaScript Is Object-Based. Understanding Objects. Client-Side JavaScript Objects. The document Object. Environment Objects. Core JavaScript Objects. Exploring an Object.
Day 5. An Introduction to Arrays. What Is an Array? Creating an Array. Accessing Arrays. Array Properties. Array Methods. Associative Arrays. Storing Objects in Array Elements.
Day 6. HTML Forms and the String Object. Collecting Data from HTML Forms. Form Elements. The String Object. Checking User Input.
Day 7. Numbers and Math. The Number Object. The Math Object. Predefined Properties. Methods of the Math Object. Creating Your Own Math Functions.
WEEK 2. LET'S TAKE IT FURTHER.
Day 8. The Browser Issue. Different Browsers, Different JavaScript. Cross-Browser Compatible Scripting. The W3C DOM.
Day 9. Date and Time Manipulation. JavaScript and Dates. The Date Object. Date Formatting. Time Formatting. Converting Date and Time Formats.
Day 10. Events and Event Handling. Understanding Events. Creating an Event Handler. Types of Events. How to Handle Events.
Day 11. Dynamic HTML. What is DHTML? Using Cascading Style Sheets. Working with Layers. Changing Attributes of an HTML Element. Moving Things
Day 12. Windows and Frames. What Are Windows and Frames? Determining Window Location. Working with Window History. Working with the Status Line. Using the Screen Object. Working with Frames. Working with Popups.
Day 13. Regular Expressions Make It Easier. Why Regular Expressions Are Useful. What Is a Regular Expression? Some Simple Patterns. Regular Expressions Overview. Defining Regular Expressions. Quantifiers. The Methods of the RegExp Object. The Properties of the RegExp Object.
Day 14. Advanced Array Management. The Array Object's Methods. Multidimensional Arrays.
WEEK 3. ADVANCED TOPICS.
Day 15. Debugging and Error Handling. Preventing and Classifying JavaScript Errors. Finding Syntax Errors. Debugging Load-Time Errors. Debugging Run-Time Errors I: Discrete Events. Debugging Run-Time Errors II: Continuous Events. Advanced Debugging Techniques. Using JavaScript Debuggers.
Day 16. Cookies: Storing Persistent Data. Maintaining State. Cookies: An Introduction. Using Cookies. Other State Maintenance Options.
Day 17. Privacy and Security. Privacy for Web Users. Privacy for Webmasters. Privacy Impact on JavaScript.
Day 18. Plugins and Applets. Plugins Versus Applets. Detecting Plugin Installation. Working with Plugin Objects. Working with Applets.
Day 19. Creating Your Own Objects. What Is a Custom Object? Use of the Constructor to Create Objects. Creating an Instance of a Custom Object. Creating Object Methods. Linking Objects Together.
Day 20. JavaScript in E-Commerce. Requirements for an E-Commerce Site. Shop Structure. The Online Catalog. Shopping Carts.
Day 21. JavaScript and SVG. Overview of Scalable Vector Graphics. Example SVG Code. The SVG Document Object Model. Using JavaScript in SVG. JavaScript Beyond Declarative Animation. Interaction Between the HTML and SVG DOM. Finding Out More About SVG.
APPENDIXES.
Appendix A. New Features in JavaScript 1.5. Number Formatting Additions. Runtime Error Messages. Regular Expressions. Conditional Function Declarations. Functions Can Be Declared Within an Expression. Multiple Catch Clauses.
Appendix B. Color Codes. Color Names Specified as Plain-Language. Hexadecimal Color Value. RGB Color Values.
Appendix C. Functions Reference. abs(). acos(). asin(). atan(). atan2(). atob(). Boolean(). btoa(). captureEvents(). catch(). ceil(). cos(). Date(). decodeURI(). decodeURIComponent(). encodeURI(). encodeURIComponent(). Error(). escape(). eval(). exp(). floor(). Function(). GetObject(). handleEvent(). isFinite(). isNaN(). log(). max(). min(). Number(). Object(). parseFloat(). parseInt(). pow(). random(). releaseEvents(). rgb(). round(). routeEvents(). ScriptEngine(). sin(). sqrt(). tan(). toString(). unescape(). unwatch(). watch().
Appendix D. Resources Online. JavaScript. Java and Java Applets. HTML. CGI.
Appendix E. A Short History of JavaScript. Index.