Javascript Syllabus

Week 1: Introduction (download)
Week 2: Program Control (download)
Week 3: Rollovers & Arrays (download)
Week 4: Forms (download)
Week 5: Form Validation & RegExps (download)
Week 6: ASP, Perl CGI, & Form Methods (download)
Week 7: SSI & Cookies (download)
Week 8: Frames & Windows (download)
Week 9: mimeTypes, plugins, & Java (download)


Week 1: Introduction

What is JavaScript 1
What can't you do with JavaScript? 4
Java "vs" JavaScript 4
The hierarchy of JavaScript Objects 8
window Object 16
document Object 17
Outputting Text with JavaScript 24
Using Arrays to Refer to Forms 28
Setting the bgColor & fgColor Properties 29
location Object 30
history Object 34
history & location Objects Examples 35
navigator Properties 36
DataTypes 37
parseInt() & parseFloat() 39
Variables 40
Variable concatenation Examples 1 & 2 43
Expressions & Operators 44
Clock Example using the Conditional Operator 50
JavaScript Objects 52
String Object 54
JavaScript String Manipulation Examples 58
HTML String Methods 58
Math Object 59
Using PI & Sqrt 61
Calculating the Square or Square Root 62
Date Object 63
Date Object Example 68
JavaScript Built-in Functions 70
Three Types of Dialog Boxes in JavaScript 73

Week 2

Event Handlers 1
Incorporating JavaScript into your HTML pages 4
  Method 1: The <SCRIPT> tag 4
  Method 2: Placing JavaScript within HTML tags 7
  Modularizing Event Handlers 8
  Attributes for the <SCRIPT> tag 9
  Hiding scripts from other browsers 12
  JavaScripting Commenting 12
JavaScript and the HTML layout 14
The concept of Program Control 16
Introduction to if -- else Branching 17
  Do You Love Me? (if -- else Example 1) 19
  Weekend Checker (if -- else Example 2) 21
  What time of day is it (if -- else Example 3) 21
  Digital Clock using gifs -- Static 22
  Digital Clock using gifs -- Dynamic 23
while loops 25
  more about while loops 27
for loops 28
  Calculating the Sum of the Digits 30
  Nested for loops 31
  Multiplication Table (more Nested for loops) 32
Functions 34
  with no parameters 34
  with parameters -- passing arguments 35
  this keyword 40
  returning values 41
  "multiple" returns 42
  Variable Scope 42
  Local --vs-- Global Variables 43
  Functions & their locations within a document 44
  Functions at work 45
  Recursive Functions 48
There's more than one way to call a Function 54

Week 3

Status Bar
Review of the JavaScript Object Hierarchy 1
  onMouseOvers & Hyperlinks 2
  onMouseOvers & onMouseOuts to perform different functions 2
  "Automatic" Timer 3
  defaultStatus & onFocus 4
  Status Bar Messages with Image Maps 5
  Status Bar Messages with Image Maps (corrected for IE 5.x) 5
  Status Bar Digital Clock 6
  Scrolling Status Bar Messages 6
  Scrolling Status Bar Messages (Annotated Version) 7
  Scrolling Status Flasher 8
RollOvers 9
RollOver "Bad Code" 12
Correct "image onMouseOvers" 13
Correct "image onMouseOvers" (Annotated Version) 15
Blinking Eye 17
Blinking Eye (Annotated Version) 18
Digital Clock 19
Digital Clock (Annotated Version) 20
Image Map 21
Image Map (that works with IE 5.x) 24
Changing an Image Using the onClick Event Handler 26
Changing images using a hyperlink 27
Glow Buttons 28
Arrays 29
  Bouncing Ball 34
  Dynamic Date Display 35
  Digital Clock 36
  Random Quotes 37
  Rotating Banner 38
  Rotating Banner with Synchronized Status Bar Messages 39
  Random Rotating Banner with Synchronized Status Bar Messages 40
  Slide Show 42
  Slide Show Version 3 43
  Stroke the Squares 44
Jump to 44
"Browser Detection" Version 1 45
"Browser Detection" Version 2 46
"Browser Detection" Version 3 46
Using typeof() 47
Calendar 49

Week 4

CheckBox Textfields
Techniques for text String Management 1
Message Slide Show 2
Message Slide Show (Annotated Version) 4
Demo of document.write() & "how" it works 5
  "Does" what it is suppose to 6
  "Does not" do what it is suppose to 6
Form Object 7
Forms -- A Quick Introduction 9
Form Elements 14
Button -- Simple Calculator 15
Radio Button 15
  light on/off 17
  Radio Button test 18
  Which browser is your favorite 19
  Temperature Conversion 20
  Temperature Conversion (Annotated Version) 20
  Double or Square? 22
  CheckBox Test 23
  CheckBox Calculator 24
  Manipulating the Values of a Textfield 25
  Detecting Textfield Events 27
  Echo -- Reflect 29
  "Less Clutter" 30
Select -- a "through" study 31
  Which browser is your favorite 33
  Selects 35
  Multiple Selects 36

Week 5

"Practical" Examples using RegExps
onChange & Select 1
MultiDimensional Arrays 3
Double Combination 5
Form Object 7
Form Handlers 9
Form Validation Overview 11
Quiz 12
JavaScript Regular Expressions -- RegExp 14
Regular Expression Methods 18
RegExp Examples 21
Summary of RegExp Pattern Syntax 26
  "Trim" Function 27
  "Swap" Function 27
  Inserting/Removing Commas from Numbers 28
  Validate Date Format 29
Using "type" 30
"Validation" Form 32
"Simple" Form Validation 33
"Simple" Form Validation (Annotated Version) 34
Car Picker Validation 36
Car Picker Validation (Annotated Version) 39

Week 6

Order Forms 1
  Order Form Naming Convention 1
  Order Form Calculations 2
  Order Form Calculations (Annotated Version) 7
Credit Card "Validation" Form 4
  Credit Card "Validation" Code 4
  Credit Card "Validation" Code (Annotated Version) 5
CGI Introduction 6
GET & POST Methods 10
Perl CGI Examples 15
  formget.pl 15
  formpost.pl 15
  form.pl 15
Where do I get my input from 16
ASP Form Examples 18
  Display results using ASP v1 18
  Display results using ASP v1 (Annotated Version) 18
  Display results using ASP v2 18
CGI Environmental Variables 19
URL Encoding 23
  URL Encoding & Decode 25
mailto: -vs- CGI 27
One File with "Multi-URL's" (Passing Data) 28
Calendar source code 31
JMail Examples & Implementations 35

Week 7

Quiz Examples 1
  Quiz Source Code 1
  quiz.js 2
  Quiz Source Code (Annotated Version) 3
  Form Conventions 5
  Quiz Source Code -- MultiDimensional Arrays 6
  Quiz Source Code -- MultiDimensional Arrays (Annotated Version) 7
  answers.js 8
Server-Side Includes (SSI) 9
  SSI Directives 12
  SSI & HTTP/CGI Variables Output 13
  SSI & HTTP/CGI Variables Source Code 13
  SSI using #exec CMD 13
Web-Embedded Programming 14
  Display results using ASP v1 16
  Display results using ASP v2 16
  Cold Fusion Markup Language 17
  PHP Code Example 18
Cookies 19
  Hidden Fields 29
  Hidden Fields (hidden1.pl & hidden2.pl) 30
  Cookies & Scripting 32
  Cookie Functions (Annotated Version) 33
  Cookie Functions 37
  Register Your Name 38
  Register Your Name (Annotated Version) 39
  Register Your Name -- Version 2 40
  Cookies & Paths how they work 42
  Cookies Created in Week 1 45
  Cookies Displayed 45
  Perl & Cookies Example 46

Week 8

Frames 1
  Voodoo's Introduction to Frames 1
  Use Target attributes to direct pages 6
  Frameset Communication 7
  Colored Frames 5
  Escaping Frames 6
  Keeping a page out of a Frame 10
  Forcing a page to be in Frame 10
  Passing Information from Frame to another 11
  The HTML Tester Page 12
  Resume -- Top Frame Source Code 14
  Resume -- Bottom Frame Source Code 15
Windows 16
  window Object 16
  Positioning New Opened Windows 21
  Pop-up Centered Window 21
  Shifting Focus between multiple Windows -- onClick 22
  Shifting Focus between multiple Windows -- onMouseOver 22
  Passing Information from the Child Window to the Parent Window 23
  Passing Information from the Parent Window to the Child Window 24
  Opening & Closing Child Windows 25
  A Child Window that acts as a Control Panel - a variation 25
  The Gallery Source Code 26
  Pop-up Windows & Cookies Source Code 27
  Customizable Second Window 28
  Summary & Examples of Pop-up Windows 29
  JavaScript & "buttons" 35

Week 9

mimeTypes & plugins 1
  Media Types and Subtypes 1
  Plugins & Viewers 3
  What File Types Can the Browser Work With? 5
  Here is tonight's dinner 6
  Embedded Data 7
  Checking for plug-ins 8
  Sounds on RollOvers 9
  Sound Controls 10
  LiveAudio & LiveConnect 11
JavaScript & Java Connection 14
  Simple Java Examples 14
  Modifying a "Java Clock" through JavaScript dynamically 15
  dynamictext.class 18

John H. Kim <jhkim@darkshire.net>
Last modified: Mon Oct 18 18:58:50 2004