|Also available on:|
- Object-oriented programming made accessible and understandable to web developers
- Do it yourself: experiment with examples that can be used in your own scripts
Book DetailsLanguage : English
Paperback : 356 pages [ 235mm x 191mm ]
Release Date : July 2008
ISBN : 1847194141
ISBN 13 : 9781847194145
Author(s) : Stoyan Stefanov
Topics and Technologies : All Books, Web Development, AJAX, Open Source, Web Development
Table of Contents
Chapter 1: Introduction
Chapter 2: Primitive Data Types, Arrays, Loops, and Conditions
Chapter 3: Functions
Chapter 4: Objects
Chapter 5: Prototype
Chapter 6: Inheritance
Chapter 7: The Browser Environment
Chapter 8: Coding and Design Patterns
Appendix A: Reserved Words
Appendix B: Built-in Functions
Appendix C: Built-in Objects
Appendix D: Regular Expressions
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
Errata- 17 submitted: last submission 13 Feb 2014
Errata type: Typo | page 25 | Errata date: 23 Oct 09
First line :: Modulo, the reminder of a division
Should be :: Modulo, the remainder of a division
Errata type: Technical | page 40 | Errata date: 30 Sep 09
First paragraph the sentence : "In the next example, if the variable v is defined, its value ..."
Should be : "In the next example, if the variable mynumber is defined, its value...
Errata type: Typo | page 71 | Errata date: 02 Apr 09
Last Sentence Before "Best Practice Tips"
It starts with "FThen",
It must start with "Then"
Errata type: Technical | page 74 | Errata date: 27 Oct 09
The sentence "Now we can pass those functions to the original function add() and get the result:"
Should be : "Now we can pass those functions to the original function invoke_and_add() and get the result:"
Errata type: Typo | page 75 | Errata date: 27 Oct 09
The sentence "Loops can be expensive if they go through a lot or repetitions."
should be : "Loops can be expensive if they go through a lot of repetitions."
Errata type: Typo | page 81 | Errata date: 02 Nov 09
The sentence : "Also notice how f1() includes a call to f2(), and it works- even though although f2() is not yet defined."
Should be : "Also notice how f1() includes a call to f2(), and it works- even thoughf2() is not yet defined."
Errata type: Technical | page 103 | Errata date: 04 Jun 09
>>>h instance of Object;
should be: >>>h instance of Object;
Errata type: Technical | page 115 | Errata date: 24 Aug 09
A.caller will be null.
In firebug, it appears to return function ()
Errata type: Typo | page 171 | Errata date: 24 Jul 09
First sentence : "The same happens when you call the isPropertyOf() method of the constructors passing my:"
Should be : "The same happens when you call the isPrototypeOf() method of the constructors passing my:"
Errata type: Typo | page 249 | Errata date: 04 Jun 09
In the third paragraph: The opposite of addEventLister() is removeEventListener() and it accepts exactly the same parameters. Let's remove the listener attached to the paragraph.
should be: The opposite of addEventListener() is removeEventListener() and it accepts exactly the same parameters. Let's remove the listener attached to the paragraph.
Errata type: Typo | page 303 | Errata date: 02 Apr 09
In place of : une, deux, trois
It should be: un, deux, trois
Errata type: Technical | page 113 | Errata date: 18 December 2009
Second sentence = "The ﬁrst parameter to slice() is the start index and the second is the end index (both indices are zero-based)."
Should be = "The ﬁrst parameter to slice() is the start index and the second is the end index not to be included in the returned slice (both indices are zero-based)."
Errata type: Technical | page 245 | Errata date: 02 March 2010
>>> var mypara = document.getElementById('my-div');
>>> var mypara = document.getElementById('closer');
Errata type: Typo | page 135 | Errata date: 23 Oct 09
None of these properties, except for lastIndex, can be changed once the object has created.
Should be :: None of these properties, except for lastIndex, can be changed once the object has been created.
Errata type: Typo | page 134 | Errata date: 23 Oct 09
Last paragraph, second sentence reads: It means, "Match any string that starts with j, ends with t and has zero or more characters in between".
It should read: It means, "Match any string that starts with j, ends with t and has one or more characters in between."
Errata type: Typo | page 226 | Errata date: 28 Oct 11
2nd to last code snippet on the page ">>> bg.childNodes.textContent"
"bg" should be changed to "bd" = ">>> bd.childNodes.textContent"
Errata type: grammar | Errata page: 10
In the fourth paragraph, the second line:
"The other part of the problem were the web developers themselves, who were adding too many features to their web pages."
"The other part of the problem were the web developers themselves, who was adding too many features to their web pages."
What you will learn from this book
- Set up and use your training environment (Firebug)
- Master data types, operators, and flow control statements
- Understand functions: usage patterns, variable scope, and built-in functions
- Closures demystified
- Create and use objects
- Understand and use prototypes
- Reuse code with common patterns for inheritance
- Understand and work with the BOM (Browser Object Model)
- The DOM (Document Object Model) â€“ accessing, modifying, adding, and deleting nodes
- Build responsive web pages with AJAX
- Listen and respond to browser events
- Apply design patterns to solve common problems
- Adopt coding patterns that unleash the unique power of the language
- Make your programs cleaner, faster, and compatible with other programs and libraries
Who this book is for
This book takes a do-it-yourself approach when it comes to writing code, because the best way to really learn a programming language is by writing code. You are encouraged to type code into Firebug's console, see how it works and then tweak it and play around with it. There are practice questions at the end of each chapter to help review what you have learned.