Books & Videos

Table of Contents

  1. Chapter 1 Good Parts

    1. Why JavaScript?

    2. Analyzing JavaScript

    3. A Simple Testing Ground

  2. Chapter 2 Grammar

    1. Whitespace

    2. Names

    3. Numbers

    4. Strings

    5. Statements

    6. Expressions

    7. Literals

    8. Functions

  3. Chapter 3 Objects

    1. Object Literals

    2. Retrieval

    3. Update

    4. Reference

    5. Prototype

    6. Reflection

    7. Enumeration

    8. Delete

    9. Global Abatement

  4. Chapter 4 Functions

    1. Function Objects

    2. Function Literal

    3. Invocation

    4. Arguments

    5. Return

    6. Exceptions

    7. Augmenting Types

    8. Recursion

    9. Scope

    10. Closure

    11. Callbacks

    12. Module

    13. Cascade

    14. Curry

    15. Memoization

  5. Chapter 5 Inheritance

    1. Pseudoclassical

    2. Object Specifiers

    3. Prototypal

    4. Functional

    5. Parts

  6. Chapter 6 Arrays

    1. Array Literals

    2. Length

    3. Delete

    4. Enumeration

    5. Confusion

    6. Methods

    7. Dimensions

  7. Chapter 7 Regular Expressions

    1. An Example

    2. Construction

    3. Elements

  8. Chapter 8 Methods

  9. Chapter 9 Style

  10. Chapter 10 Beautiful Features

  1. Appendix Awful Parts

    1. Global Variables

    2. Scope

    3. Semicolon Insertion

    4. Reserved Words

    5. Unicode

    6. typeof

    7. parseInt

    8. +

    9. Floating Point

    10. NaN

    11. Phony Arrays

    12. Falsy Values

    13. hasOwnProperty

    14. Object

  2. Appendix Bad Parts

    1. ==

    2. with Statement

    3. eval

    4. continue Statement

    5. switch Fall Through

    6. Block-less Statements

    7. ++ −−

    8. Bitwise Operators

    9. The function Statement Versus the function Expression

    10. Typed Wrappers

    11. new

    12. void

  3. Appendix JSLint

    1. Undefined Variables and Functions

    2. Members

    3. Options

    4. Semicolon

    5. Line Breaking

    6. Comma

    7. Required Blocks

    8. Forbidden Blocks

    9. Expression Statements

    10. for in Statement

    11. switch Statement

    12. var Statement

    13. with Statement

    14. =

    15. == and !=

    16. Labels

    17. Unreachable Code

    18. Confusing Pluses and Minuses

    19. ++ and −−

    20. Bitwise Operators

    21. eval Is Evil

    22. void

    23. Regular Expressions

    24. Constructors and new

    25. Not Looked For

    26. HTML

    27. JSON

    28. Report

  4. Appendix Syntax Diagrams

  5. Appendix JSON

    1. JSON Syntax

    2. Using JSON Securely

    3. A JSON Parser

  6. Colophon