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 |
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 |