Dedication; Introduction; On Programming; Why Language Matters; What Is JavaScript?; Trying Programs; Overview of This Book; Typographic Conventions; Chapter 1: Basic JavaScript: Values, Variables, and Control Flow; 1.1 Values; 1.2 Variables; 1.3 The Environment; 1.4 Program Structure; 1.5 More on Types; Chapter 2: Functions; 2.1 The Anatomy of a Function Definition; 2.2 Techniques; Chapter 3: Data Structures: Objects and Arrays; 3.1 The Problem: Aunt Emily's Cats; 3.2 Basic Data Structures; 3.3 Solving the Problem of Aunt Emily's Cats; 3.4 Some More Theory; Chapter 4: Error Handling; 4.1 Types of Problems; 4.2 Handling Errors; 4.3 Automated Testing; Chapter 5: Functional Programming; 5.1 Abstraction; 5.2 Higher-Order Functions; 5.3 The Sad Story of the Recluse; 5.4 Other Functional Tricks; Chapter 6: Object-Oriented Programming; 6.1 Objects; 6.2 Building an Ecosystem Simulation; 6.3 A More Lifelike Simulation; 6.4 Prototypal Inheritance; Chapter 7: Modularity; 7.1 Modules; 7.2 The Shape of a Module; 7.3 Interface Design; 7.4 Libraries; Chapter 8: Regular Expressions; 8.1 Syntax; 8.2 Matching and Replacing; 8.3 Parsing an .ini File; 8.4 Conclusion; Chapter 9: Web Programming: A Crash Course; 9.1 The Internet; 9.2 Basic Web Scripting; 9.3 Browser Incompatibility; 9.4 Further Reading; Chapter 10: The Document Object Model; 10.1 DOM Elements; 10.2 Style Sheets; 10.3 Word of Caution; Chapter 11: Browser Events; 11.1 Event Handlers; 11.2 Example: Implementing Sokoban; Chapter 12: HTTP requests; 12.1 The HTTP Protocol; 12.2 The XMLHttpRequest API; 12.3 Learning HTTP; Colophon; Updates;
Marijn Haverbeke is an independent developer and author, focused primarily on programming languages and tools for programmers. He spends most of his time working on open source software, such as the CodeMirror editor and the Tern type inference engine.
![]() |
Ask a Question About this Product More... |
![]() |