JavaScript: The Good Parts
Publisher: Yahoo Press
Release Date: December 2008
Pages: 172
Read on Safari with a 10-day trial
Start your free trial now Buy on AmazonWhere’s the cart? Now you can get everything on Safari. To purchase books, visit Amazon or your favorite retailer. Questions? See our FAQ or contact customer service:
1-800-889-8969 / 707-827-7019
support@oreilly.com
Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables.
When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In JavaScript: The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript, including:
- Syntax
- Objects
- Functions
- Inheritance
- Arrays
- Regular expressions
- Methods
- Style
- Beautiful features
The real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book.
With JavaScript: The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.
Table of Contents
-
Chapter 1 Good Parts
-
Why JavaScript?
-
Analyzing JavaScript
-
A Simple Testing Ground
-
-
Chapter 2 Grammar
-
Whitespace
-
Names
-
Numbers
-
Strings
-
Statements
-
Expressions
-
Literals
-
Functions
-
-
Chapter 3 Objects
-
Object Literals
-
Retrieval
-
Update
-
Reference
-
Prototype
-
Reflection
-
Enumeration
-
Delete
-
Global Abatement
-
-
Chapter 4 Functions
-
Function Objects
-
Function Literal
-
Invocation
-
Arguments
-
Return
-
Exceptions
-
Augmenting Types
-
Recursion
-
Scope
-
Closure
-
Callbacks
-
Module
-
Cascade
-
Curry
-
Memoization
-
-
Chapter 5 Inheritance
-
Pseudoclassical
-
Object Specifiers
-
Prototypal
-
Functional
-
Parts
-
-
Chapter 6 Arrays
-
Array Literals
-
Length
-
Delete
-
Enumeration
-
Confusion
-
Methods
-
Dimensions
-
-
Chapter 7 Regular Expressions
-
An Example
-
Construction
-
Elements
-
-
Chapter 8 Methods
-
Chapter 9 Style
-
Chapter 10 Beautiful Features
-
Appendix Awful Parts
-
Global Variables
-
Scope
-
Semicolon Insertion
-
Reserved Words
-
Unicode
-
typeof
-
parseInt
-
+
-
Floating Point
-
NaN
-
Phony Arrays
-
Falsy Values
-
hasOwnProperty
-
Object
-
-
Appendix Bad Parts
-
==
-
with Statement
-
eval
-
continue Statement
-
switch Fall Through
-
Block-less Statements
-
++ −−
-
Bitwise Operators
-
The function Statement Versus the function Expression
-
Typed Wrappers
-
new
-
void
-
-
Appendix JSLint
-
Undefined Variables and Functions
-
Members
-
Options
-
Semicolon
-
Line Breaking
-
Comma
-
Required Blocks
-
Forbidden Blocks
-
Expression Statements
-
for in Statement
-
switch Statement
-
var Statement
-
with Statement
-
=
-
== and !=
-
Labels
-
Unreachable Code
-
Confusing Pluses and Minuses
-
++ and −−
-
Bitwise Operators
-
eval Is Evil
-
void
-
Regular Expressions
-
Constructors and new
-
Not Looked For
-
HTML
-
JSON
-
Report
-
-
Appendix Syntax Diagrams
-
Appendix JSON
-
JSON Syntax
-
Using JSON Securely
-
A JSON Parser
-
-
Colophon