Javascript: The Definitive Guide

Errata for Javascript: The Definitive Guide

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted Date Corrected
Printed
Page xii
bullet item 2, line 3: "ISO-10262" should read "ISO-16262"

Anonymous    Dec 01, 1998
Printed
Page xiv
2nd paragraph, last sentence

Removed the end of the last sentence, which read: "...through his web site at http://www.mpg-ana.uni-potsdam.de/local/js/."

Anonymous    Jun 01, 2000
Printed
Page xiii

ftp://ftp.oreilly.com/pub/examples/nutshell/javascript now reads: http://www.oreilly.com/catalog/9781565923928/example/js3examples/

Anonymous    Aug 01, 2000
Printed
Page 3
para. -2, line 4: "ISO-10262" should read "ISO-16262"

Anonymous    Dec 01, 1998
Printed
Page 3
3rd paragraph under "Versions of JavaScript",

changed "International Standards Organization" to "International Organization for Standardization (ISO)"

Anonymous    Mar 01, 2000
Printed
Page 9
top

"click on a image" should read "click on an image"

Anonymous   
Printed
Page 18
9th line of code

added a semicolon to the end of line; now reads: document.loandata.total.value = round(monthly * payments);

Anonymous    Mar 01, 2000
Printed
Page 21

Lines 3-4 of the first sample script in section 1.8 now reads: "... for (i=0, j=1, k=0, fib =0; i<50; i++, fib=j+k, k=fib){ document.write ( "Fibonacci (" + i + ") = " + fib); ..."

Anonymous    Aug 01, 1999
Printed
Page 23
line -3: changed the URL for the Netscape debugger to

http://developer.netscape.com/software/jsdebug.html

Anonymous    Sep 01, 1998
Printed
Page 23
http://developer.netscape.com/products/jsdebug

has changed to: http://developer.netscape.com/software/jsde.html and: http://www.microsoft.com/scripting/debugger/ has changed to: http://msdn.microsoft.com/scripting/debugger/

Anonymous    Dec 01, 1998
Printed
Page 29
In the fifth paragraph

"++ and - postfix operators" now reads: "++ and -- postfix operators."

Anonymous    May 01, 1999
Printed
Page 32
The words "false", "null", and "true" have been added to

Table 2-1, and removed from Table 2-3.

Anonymous    May 01, 1999
Printed
Page 35
Added the following to the end of the 2nd paragraph:

(just before section 3.1.1): Note that any numeric literal can be preceeded by a - sign to make the number negative. Technically, however, - is the unary negation operator, not part of the numeric literal syntax.

Anonymous    Mar 01, 2000
Printed
Page 35
1st paragraph under 3.1.1 Integer Literals

Changed the end of the first sentence from: "... that do not begin with the digit zero, or as the digit zero by itself." to: "... that do not begin with the digit zero, except that the digit zero by itself is a Base-10 integer that represents zero."

Anonymous    Jun 01, 2000
Printed
Page 37
Table 3-1

Changed the meaning for Number.MIN_VALUE to: "Smallest (closest to zero) representable value"

Anonymous    Mar 01, 2000
Printed
Page 49
A footnote has been added after "For example:", the 3rd line of

text on this page. It reads: This code does not work properly if the year of xmas is 1999, as explained in the reference section descriptions of Date.getYear() and Date.setYear(). In JavaScript 1.2, simply replace these deprecated Date methods with the Y2K-compliant getFullYear() and setFullYear().

Anonymous    May 01, 1999
Printed
Page 75

The third example line of code read: Result is 12. It now reads: Result is "12".

Anonymous    May 01, 1999
Printed
Page 75

The 3rd line of code used to read: "1" + 2 // Concatenation; 2 is converted to "2". Result is 12. It now reads: "1" + 2 // Concatenation; 2 is converted to "2". Result is "12".

Anonymous    Aug 01, 1999
Printed
Page 77
Section 5.8, the section now begins

The bitwise operators require numeric arguments. They internally coerce these numbers from their default floating-point representation into a 32-bit integer representation. With Navigator 2 and 3, if the operands do not fit in a 32-bit integer representation, the operators return NaN. In ECMAScript and JavaScript 1.2, however, these operators simply coerce their operands to 32-bit integers, even if it results in lost data.

Anonymous    May 01, 1999
Printed
Page 89
3rd chunk of code

Added a ; to the end of line 3 to read: if (!username) username = "John Doe";

Anonymous    Mar 01, 2000
Printed
Page 94
1st code block

Added a colon to the end of the third line, so that it reads: case "hello":

Anonymous    Jun 01, 2000
Printed
Page 127
Example after 2nd paragraph, line 7

email: homer@simpsons.com now reads: email: "homer@simpsons.com"

Anonymous    Mar 01, 2000
Printed
Page 135
Figure 8-1 showed value for pi as 3.1459.

It now reads: 3.14159.

Anonymous    May 01, 1999
Printed
Page 170
2nd to last paragraph

Changed the last sentence from: For example, use $ instead of 44. to: For example, use 44 instead of 44.

Anonymous    Jun 01, 2000
Printed
Page 177
In the Regular Expression Chapter (Ch. 10), the first example

read: var pattern = "/java/i"; It now reads: var pattern = /java/i;

Anonymous    May 01, 1999
Printed
Page 178
1st paragraph

The first sentence was changed to read: In Navigator 4, there is one quirky...

Anonymous    Jul 01, 2001
Printed
Page 190
At the beginning of the second comment block

Used to read: // Finally, we'll examine comparison by value. Now reads: // Finally, we'll examine comparison by reference.

Anonymous    Jan 01, 2000
Printed
Page 216
1st sentence under section 12.2.2.1,

Deleted "and Internet Explorer 4", so it now starts "In Navigator 4, ..."

Anonymous    Mar 01, 2000
Printed
Page 230
Insert a new list item after "moveBy(), moveTo()

open() Open a new window.

Anonymous   
Printed
Page 241

The first line of code read: var w= window.open ("smallwin.html", "smallwin", "width=400,height=350,status=yes,resizeable=yes"); It now reads: var w= window.open ("smallwin.html", "smallwin", "width=400,height=350,status=yes,resizable=yes");

Anonymous    May 01, 1999
Printed
Page 244
Code: Line 3 from bottom

Changed the line from: <INPUT TYPE=button VALUE="Stop" to: <INPUT TYPE="button" VALUE="Stop"

Anonymous    Jun 01, 2000
Printed
Page 265
next-to-last line

The "self = null;" line of code was removed and replaced with: var err = no_such_property; // Error: "no_such_property is not defined"

Anonymous    Jul 01, 2001
Printed
Page 288
3rd line of code

did read: document.b1.onclick = ... now reads: document.forms[0].b1.onclick = ...

Anonymous    Mar 01, 2000
Printed
Page 313
Example 16-2

The lines // If the element has a "numeric" property defined, verify that // it is a number, but don't check its range. were inserted before // Put together error messages for fields that are wrong.

Anonymous    Aug 01, 2000
Printed
Page 313
4th line of code

The code was changed to read: // Also, if any elements have a "numeric", "min", or "max" property defined,

Anonymous    Jul 01, 2001
Printed
Page 326
2nd paragraph, 1st sentence

Used to read: This is a long and moderately complex example that you may find useful in your own DHMTL programs. Now reads: This is a long and moderately complex example that you may find useful in your own DHTML programs.

Anonymous    Jan 01, 2000
Printed
Page 328
INFO

Netscape Communicator 4.x has a known bug in that reloading a document does not always reload all objects in that document, espcially Layer objects. The upshot is that in the Netscape implementation, the value of "this.layer" may be null or undefined. In this case, using any of the defined functions in the example (such as "getX") attempt to de-reference an undefined (or null) value, which causes Netscape Communicator to core-dump (or whatever this is called on windows). As this is a popular browser, and this is an important example, I suggest that the author should find a work-around, either recreate a Layer object (the quickest fix but with ugly results), or force a page reload (a slower method but will always work properly).

Anonymous   
Printed
Page 328
Example 17-4, line 10: "this.layer.right" changed to

"this.layer.top"

Anonymous    Jul 01, 1998
Printed
Page 330
Example 17-4, line -7: "this.style.pixelRight" changed to

"this.style.pixelTop"

Anonymous    Jul 01, 1998
Printed
Page 335
first complete paragraph

"Once the expiration date has past..." "past" should be "passed".

Anonymous   
Printed
Page 335
Last line

Changed "acme.com" to ".acme.com"

Anonymous    Jun 01, 2000
Printed
Page 390
section 21.6, the e-mail address

http://developer.netscape.com/software/signedobj/ is not exactly where you can find the signtool program. It can be found at this URL: http://developer.netscape.com/software/signedobj/jarpack.html

Anonymous    May 01, 1999
Printed
Page 428
Under Array.join()

In "Arguments", changed "the empty string" to "a comma" in the last sentence.

Anonymous    Mar 01, 2000
Printed
Page 449
first code block:

Change second line to: document.write('Today is: ' + d.toLocaleString()); // and print it out.

Anonymous   
Printed
Page 453
First Paragraph

Removed first three lines of prose ("getTimezoneOffset" and following paragraph.)

Anonymous    Aug 01, 2000
Printed
Page 491
Under eval()

In "Description," added the following to the end of the 2nd paragraph: Note that if you pass an object to eval(), it converts the object to a string primitive and returns that string without evaluating it. Thus, if you pass a String object rather than a primitive string value, eval() does not evaluate the string as you might expect.

Anonymous    Mar 01, 2000
Printed
Page 509
INFO

On this page, the author discusses the "form.action" property. I have found through testing that for the POST method of form submission to work, the "form.method" property must also be explicitly set, even if it is set within the original <FORM> tag. There seems to be no problem if the form uses the GET method, but when I tried a "POST", all I got were 405 errors in both Netscape (4.6) & IE (4.01). Setting the "method" property explicitly eliminated the problem.

Anonymous   
Printed
Page 512
The "See Also" section of the "Form.onreset" reference section, used

to read: "Form.onsubmit, Form.reset(), Chapter 15" It now reads: "Form.onsubmit, Form.reset(), Chapter 16"

Anonymous    Aug 01, 1999
Printed
Page 512
The "See Also" section of the "Form.onsubmit" reference section, used

to read: "Form.submit(), Chapter 15" It now reads: "Form.submit(), Chapter 16"

Anonymous    Aug 01, 1999
Printed
Page 544
In the name section of image properties, sentence 2 currently

read: "When an image is given an name with the ..." It now reads: "When an image is given a name with the ..."

Anonymous    May 01, 1999
Printed
Page 563
2nd paragraph under Description of isNaN()

In the last sentence, changed "isNanN()" to "isNaN()"

Anonymous    Jun 01, 2000
Printed
Page 579
layer.clip.right description

Under the description for "Layer.clip.right," changed "Layer.right" to "Layer.left."

Anonymous    Aug 01, 2000
Printed
Page 606
under Math.atan2()

Changed from: Synopsis Math.atan2(x, y) Arguments x The X-coordinate of the point. y The Y-coordinate of the point. to: Synopsis Math.atan2(y, x) Arguments y The Y-coordinate of the point. x The X-coordinate of the point. Added this paragraph to the end of the "Description" section: Note the unusual order of the arguments to this function. The Y-coordinate (the "rise") is passed before the X-coordinate (the "run").

Anonymous    Jun 01, 2000
Printed
Page 646

The line 10 from bottom of page now reads: document.write(navigator.plugins["Shockwave"] ? Ie, replace the () brackets with [] around the word "Shockwave".

Anonymous    May 01, 1999
Printed
Page 687
next to last line

Specified /s+/ with a lower-case 's', as in the example on the following page.

Anonymous    Aug 01, 2000
Printed
Page 689
the Synopsis changed to

string.substr(start, length) ("substr" is in constant-width font, and "string", "start", and "length" are all in constant-width italic font.)

Anonymous    Jul 01, 1998
Printed
Page 701
Textarea entry under HTML Syntax

Deleted the code line that read: [ WRAP=off|virtual|physical ] How word wrapping is handled INDEX:. Changed the entry for alert() from: alert(), 9, 22, 231-233, 709 to: alert(), 9-10, 22, 231-233, 709

Anonymous    Jun 01, 2000