questions.js—The JavaScript Source File

Let’s continue with questions.js , the JavaScript source file called by administer.html, shown in Example 2.2.

Example 2-2. The Beginning of the questions.js Source Code

     1  function question(answer, support, question, a, b, c, d) {
     2    this.answer = answer;
     3    this.support = support;
     4    this.question = question;
     5    this.a = a;
     6    this.b = b; 
     7    this.c = c;
     8    this.d = d;
     9    return this;
    10    }
    11  var units = new Array(
    12    new question("a", "The others are external objects.", 
    13    "Choose the built-in JavaScript object:",   "Image", "mimeType", 
    14    "Password", "Area"),
    15  // and so on ...
    16    }

This is, of course, an abbreviated version of the file. Array units is much longer (75 elements in all), but this shows you that each element of units is a question object as defined in function question() in lines 1-10.

This application is based on user-defined objects (objects that you and I declare). If the concept of JavaScript objects seems obscure, check Netscape’s documentation at http://developer.netscape.com/docs/manuals/communicator/jsguide4/model.htm. It will help you better understand the JavaScript Object Model. In the meantime, use the next few paragraphs as a crash course.

An object is a set of structured data. Each object can own or have associated with it two types of entities—properties and methods. Properties have something, such as the number 6, the expression a * b, or the string “Jimmy.” Methods do something, such as calculate the circumference ...

Get JavaScript Application Cookbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.