> 原文出处:http://eloquentjavascript.net/
# Eloquent JavaScript
##second edition
This is a book about JavaScript, programming, and the wonders of the digital. You can read it online here, or get your own [paperback copy](http://www.amazon.com/gp/product/1593275846/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275846&linkCode=as2&tag=marijhaver-20&linkId=VPXXXSRYC5COG5R5) of the book.
[![](https://box.kancloud.cn/2015-10-31_563439a775bd2.png)](http://www.amazon.com/gp/product/1593275846/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1593275846&linkCode=as2&tag=marijhaver-20&linkId=VPXXXSRYC5COG5R5)
Written by Marijn Haverbeke.
Licensed under a [Creative Commons attribution-noncommercial license](http://creativecommons.org/licenses/by-nc/3.0/). All code in this book may also be considered licensed under an [MIT license](http://opensource.org/licenses/MIT).
Illustrations by various artists: Cover by Wasif Hyder. Computer (introduction) and unicycle people (Chapter 21) by Max Xiantu. Sea of bits (Chapter 1) and weresquirrel (Chapter 4) by Margarita Martínez and José Menor. Octopuses (Chapter 2 and 4) by Jim Tierney. Object with on/off switch (Chapter 6) by Dyle MacGregor. Regular expression diagrams in Chapter 9 generated with[regexper.com](http://regexper.com/) by Jeff Avallone. Game concept for Chapter 15 by [Thomas Palef](http://lessmilk.com/). Pixel art in Chapter 16 by Antonio Perdomo Pastor.
The second edition was made possible by [454 financial backers](http://eloquentjavascript.net/backers.html), with significant contributions from [![](https://box.kancloud.cn/2015-10-31_563439a7a7442.png)](http://www.mozilla.org/en-US/), [![](https://box.kancloud.cn/2015-10-31_563439a7b4ee5.png)](http://www.hackreactor.com/), and [![](https://box.kancloud.cn/2015-10-31_563439a7c1982.png)](http://www.ghostery.com/).
- perface
- Introduction
- Part 1: Language
- 1 Values, Types, and Operators
- 2 Program Structure
- 3 Functions
- 4 Data Structures: Objects and Arrays
- 5 Higher-order Functions
- 6 The Secret Life of Objects
- 7 Project: Electronic Life
- 8 Bugs and Error Handling
- 9 Regular Expressions
- 10 Modules
- 11 Project: A Programming Language
- Part 2: Browser
- 12 JavaScript and the Browser
- 13 The Document Object Model
- 14 Handling Events
- 15 Project: A Platform Game
- 16 Drawing on Canvas
- 17 HTTP
- 18 Forms and Form Fields
- 19 Project: A Paint Program
- Part 3: Node
- 20 Node.js
- 21 Project: Skill-Sharing Website
- Other Pages