“Modern JavaScript: Develop and Design” Errata

Unfortunately, despite the best efforts of myself, the technical editor, the copy editor, the line editor, the proofreader, and despite the multiple revisions, errors still occur. This page lists all the errors found in the book since it went to print.

Note: errors are corrected in subsequent printings and therefore your particular copy may not contain all of the following. You may also be experiencing problems not caused by a mistake in the book. If so, you may find the solution to your problem by using the book’s corresponding forum. Significant changes in the technology will be addressed there and you can also find problems and solutions encountered by other readers.

Known Errors in the Book:

Click on a column heading to sort the table by that column.

Chapter Page # Description Date Added
1: (Re-)Introducing JavaScript 10 The last sentence should begin “This is just one…” August 28, 2012
1: (Re-)Introducing JavaScript 5 In the second paragraph, “prototype” is misspelled. March 2, 2012
1: (Re-)Introducing JavaScript 19 In Figure 1.7, the arrows for steps 1 and 4 are pointing the wrong way. Ugh! March 2, 2012
3: Tools of the Trade 76 Near the end of the third paragraph, it should say “the latest versions of IE can do that too” (“too”, not “tool”). March 14, 2012
3: Tools of the Trade 77 The very last word should be “Firefox”, not “Firebox”. March 20, 2012
4: Simple Variable Types 107 The second line of the first paragraph should say Step 11, not Step 12. April 5, 2012
4: Simple Variable Types 108 The third use of num.toFixed() should not use an argument. March 20, 2012
4: Simple Variable Types 113 The fourth line of code has an extra opening parentheses before email.value. December 30, 2012
4: Simple Variable Types 118 The code in Step 9 should actually refer to the element with an id value of theForm, which is what the corresponding downloadable code uses. March 14, 2012
4: Simple Variable Types 120 The HTML form should not use the required attribute for the Formatted Name/result text input. March 20, 2012
4: Simple Variable Types 123 The first line of code should refer to parseInt(), not parseFloat(). August 28, 2012
5: Using Control Structures 137 The second block of code examples should use the or operator (||) not and (&&). Ugh! March 14, 2012
6: Complex Variable Types 181 The first paragraph accidentally capitalizes the “z” in getTimezoneOffset(). August 28, 2012
6: Complex Variable Types 182 The first line of code is missing the “new” in var now = new Date();. December 30, 2012
6: Complex Variable Types 197 In the code under Step 7, the two references to numbers should actually be message. Now sure what happened there! March 14, 2012
6: Complex Variable Types 201 In the nested for loops in the sidebar, the outer loop is missing the “1” in i < count1. March 20, 2012
6: Complex Variable Types 206 The use of join() as the second-to-last line of code should use </li><li>. June 13, 2012
6: Complex Variable Types 210 The two uses of my in the discussion of referencing object properties should be me. May 1, 2012
6: Complex Variable Types 210 The second code example should be if (typeof chapter.startPage == ‘number’) {. June 14, 2012
7: Creating Functions 237 Due to some sort of massive mental block on my part, I wrongly used “numbers” in Step 4 of random.js when it should be “message”. December 30, 2012
7: Creating Functions 245 The second to the last paragraph should begin “That code assigns to the unload property…”. August 28, 2012
7: Creating Functions 251 Due to some sort of massive mental block on my part, I wrongly used “numbers” in Step 3 of words.js when it should be “message”. December 30, 2012
8: Event Handling 280 The code in epoch.js should say “milliseconds”, not “seconds”. This also affects Figures 8.1 and 8.2 December 30, 2012
8: Event Handling 293 In the function definition in Step 5, the e argument doesn’t need to be there. March 14, 2012
8: Event Handling 298 The fourth paragraph should begin “For browsers that do support…”. August 28, 2012
8: Event Handling 306 The penultimate bullet should say “for the form-submission event”. December 30, 2012
9: JavaScript and the Browser 328 In the third paragraph of the sidebar, the reference to “window.length” should be to window.frames.length. April 3, 2013
9: JavaScript and the Browser 345 The fourth code example should be of replaceChild(). August 28, 2012
9: JavaScript and the Browser 363 In step 8, it’d be better if the returned value was from the value variable, as the decodeURIComponent() function was already applied to it. June 13, 2012
9: JavaScript and the Browser 368 In Step 11, the function call in the third line of code should be setTheme(theme). April 3, 2013
11: Ajax 450 The first line of code at the top of the page should be {$row[‘date_submitted’]}. April 3, 2013
11: Ajax 457 The name and id values of the comments input need to be lowercase. December 30, 2012
11: Ajax 464 Step 11 should say to save the file as “content.js”. December 30, 2012
11: Ajax 469 The last line of code under Step 11 should be [{“1”: “380.10”}] or just {“1”: “380.10”}. April 3, 2013
12: Error Management 480 There’s an extra closing parentheses after !isNaN(volume) in the last line of code. December 30, 2012