Once listed in the "nice to have" sections of job postings,
these days the knowledge of JavaScript is a deciding factor when it
comes to hiring web developers. And rightly so. Where in the past we
used to have the occasional few lines of JavaScript embedded in a web
page, now we have advanced libraries and extensible architectures,
powering the "fat-client", AJAX-type rich internet applications.
JavaScript is the language of the browser, but it's also heavily
employed in many other environments: server-side programming, desktop
applications, application extensions and widgets. It's a pretty good
deal: you learn one language and then code all kinds of different
applications. While this book has one chapter specifically dedicated to
the web browser environment including DOM, events, and AJAX tutorials,
the rest is applicable to all the other environments too.
This book treats JavaScript as a serious object-oriented language,
showing you how to build robust, maintainable, and powerful libraries
and applications. Along the way, we cover many of the recent
innovations such as AJAX, JSON, and interesting design and coding
patterns. After reading this book, you'll be prepared to ace your
JavaScript job interview and even impress with some bits that the
interviewer maybe didn't know. You should read this book if you want to
be able to take your JavaScript skills to a new level of
sophistication.
What you will learn from this book?
* Learn to think in JavaScript, the language of the web browser
* The basics of object-oriented programming, and how they apply to JavaScript
* 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
* JSON (JavaScript Object Notation)
* 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
* Achieve missing object-oriented features in JavaScript such as private properties and methods
Who is this book written for?
The book requires no prior knowledge of JavaScript and works from
the ground up to give you a thorough grounding in this powerful
language. If you do already know some JavaScript, you will find plenty
of eye-openers as you discover just what the language can do.
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.