Free Sample
+ Collection
Code Files

Object-Oriented JavaScript

Progressing
Stoyan Stefanov

This book teaches JavaScript as an object-oriented language of immense versatility. With the coding know-how contained here you’ll have a lot more power to your programmer’s elbow. For beginners or intermediates.
$14.40
$39.99
RRP $23.99
RRP $39.99
eBook
Print + eBook

Want this title & more?

$16.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781847194145
Paperback356 pages

About This Book

  • Learn to think in JavaScript, the language of the web browser
  • Object-oriented programming made accessible and understandable to web developers
  • Do it yourself: experiment with examples that can be used in your own scripts
  • Write better, more maintainable JavaScript code

Who This Book Is 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.

Table of Contents

Chapter 1: Introduction
A Bit of History
The Winds of Change
The Present
The Future
Object-Oriented Programming
OOP Summary
Setting up Your Training Environment
Using the Firebug Console
Summary
Chapter 2: Primitive Data Types, Arrays, Loops, and Conditions
Variables
Operators
Primitive Data Types
Primitive Data Types Recap
Arrays
Conditions and Loops
Comments
Summary
Exercises
Chapter 3: Functions
What is a Function?
Pre-defined Functions
Scope of Variables
Functions are Data
Closures
Summary
Exercises
Chapter 4: Objects
From Arrays to Objects
Built-in Objects
Summary
Exercises
Chapter 5: Prototype
The prototype Property
Augmenting Built-in Objects
Summary
Exercises
Chapter 6: Inheritance
Prototype Chaining
Inheriting the Prototype Only
Uber—Access to the Parent from a Child Object
Isolating the Inheritance Part into a Function
Copying Properties
Heads-up When Copying by Reference
Objects Inherit from Objects
Deep Copy
object()
Using a Mix of Prototypal Inheritance and Copying Properties
Multiple Inheritance
Parasitic Inheritance
Borrowing a Constructor
Summary
Case Study: Drawing Shapes
Exercises
Chapter 7: The Browser Environment
Including JavaScript in an HTML Page
BOM and DOM—An Overview
BOM
DOM
Events
XMLHttpRequest
Summary
Exercises
Chapter 8: Coding and Design Patterns
Coding Patterns
Design Patterns
Summary

What You Will Learn

  • 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

In Detail

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.

Authors

Read More