Object-Oriented JavaScript - Second Edition
eBook - ePub

Object-Oriented JavaScript - Second Edition

Stoyan Stefanov, Kumar Chetan Sharma

Share book
  1. 382 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Object-Oriented JavaScript - Second Edition

Stoyan Stefanov, Kumar Chetan Sharma

Book details
Book preview
Table of contents
Citations

About This Book

You will first be introduced to object-oriented programming, then to the basics of objects in JavaScript. 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 you review what you have learned.For new to intermediate JavaScript developer who wants to prepare themselves for web development problems solved by smart JavaScript!

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Object-Oriented JavaScript - Second Edition an online PDF/ePUB?
Yes, you can access Object-Oriented JavaScript - Second Edition by Stoyan Stefanov, Kumar Chetan Sharma in PDF and/or ePUB format, as well as other popular books in Computer Science & Object Oriented Programming. We have over one million books available in our catalogue for you to explore.

Information

Year
2013
ISBN
9781849693134
Edition
1

Object-Oriented JavaScript Second Edition


Table of Contents

Object-Oriented JavaScript Second Edition
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Errata
Piracy
Questions
1. Object-oriented JavaScript
A bit of history
Browser wars and renaissance
The present
The future
ECMAScript 5
Object-oriented programming
Objects
Classes
Encapsulation
Aggregation
Inheritance
Polymorphism
OOP summary
Setting up your training environment
WebKit's Web Inspector
JavaScriptCore on a Mac
More consoles
Summary
2. Primitive Data Types, Arrays, Loops, and Conditions
Variables
Variables are case sensitive
Operators
Primitive data types
Finding out the value type – the typeof operator
Numbers
Octal and hexadecimal numbers
Exponent literals
Infinity
NaN
Strings
String conversions
Special strings
Booleans
Logical operators
Operator precedence
Lazy evaluation
Comparison
Undefined and null
Primitive data types recap
Arrays
Adding/updating array elements
Deleting elements
Arrays of arrays
Conditions and loops
The if condition
The else clause
Code blocks
Checking if a variable exists
Alternative if syntax
Switch
Loops
While loops
Do-while loops
For loops
For-in loops
Comments
Summary
Exercises
3. Functions
What is a function?
Calling a function
Parameters
Predefined functions
parseInt()
parseFloat()
isNaN()
isFinite()
Encode/decode URIs
eval()
A bonus – the alert() function
Scope of variables
Variable hoisting
Functions are data
Anonymous functions
Callback functions
Callback examples
Immediate functions
Inner (private) functions
Functions that return functions
Function, rewrite thyself!
Closures
Scope chain
Breaking the chain with a closure
Closure #1
Closure #2
A definition and closure #3
Closures in a loop
Getter/setter
Iterator
Summary
Exercises
4. Objects
From arrays to objects
Elements, properties, methods, and members
Hashes and associative arrays
Accessing an object's properties
Calling an object's methods
Altering properties/methods
Using the this value
Constructor functions
The global object
The constructor property
The instanceof operator
Functions that return objects
Passing objects
Comparing objects
Objects in the WebKit console
console.log
Built-in objects
Object
Array
A few array methods
Function
Properties of function objects
Prototype
Methods of function objects
Call and apply
The arguments object revisited
Inferring object types
Boolean
Number
String
A few methods of string objects
Math
Date
Methods to work with date objects
Calculating birthdays
RegExp
Properties of RegExp objects
Methods of RegExp objects
String methods that accept regular expressions as arguments
search() and match()
replace()
Replace callbacks
split()
Passing a string when a RegExp is expected
Error objects
Summary
Exercises
5. Prototype
The prototype property
Adding methods and properties using the prototype
Using the prototype's methods and properties
Own properties versus prototype properties
Overwriting a prototype's property with an own property
Enumerating properties
isPrototypeOf()
The secret __proto__ link
Augmenting built-in objects
Augmenting built-in objects – discussion
Prototype gotchas
Summary
Exercises
6. Inheritance
Prototype chaining
Prototype chaining example
Moving shared properties to the prototype
Inheriting the prototype only
A temporary constructor – new F()
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
Mixins
Parasitic inheritance
Borrowing a constructor
Borrow a constructor and copy its prototype
Summary
Case study – drawing shapes
Analysis
Implementation
Testing
Exercises
7. The Browser Environment
Including JavaScript in an HTML page
BOM and DOM – an overview
BOM
The window object revisited
window.navigator
Your console is a cheat sheet
window.location
window.history
win...

Table of contents