-
IntroductionThis is a book about getting computers to do what you want them to do. Computers are about as common as screwdrivers tod
-
Values, Types, and OperatorsBelow the surface of the machine, the program moves. Without effort, it expands and contracts. In great harmony, electro
-
Program StructureAnd my heart glows bright red under my filmy, translucent skin and they have to administer 10cc of JavaScript to get me
-
FunctionsPeople think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing
-
Data Structures: Objects and ArraysOn two occasions I have been asked, ‘Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answer
-
Higher-order FunctionsTzu-li and Tzu-ssu were boasting about the size of their latest programs. ‘Two-hundred thousand lines,’ said Tzu-li, ‘no
-
The Secret Life of ObjectsThe problem with object-oriented languages is they’ve got all this implicit environment that they carry around with them
-
Project: Electronic Life[...] the question of whether Machines Can Think [...] is about as relevant as the question of whether Submarines Can Sw
-
Bugs and Error HandlingDebugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possi
-
Regular ExpressionsSome people, when confronted with a problem, think ‘I know, I’ll use regular expressions.’ Now they have two problems. J
-
ModulesA beginning programmer writes her programs like an ant builds her hill, one piece at a time, without thought for the big
-
Project: A Programming LanguageThe evaluator, which determines the meaning of expressions in a programming language, is just another program. Hal Abels
-
JavaScript and the BrowserThe browser is a really hostile programming environment. Douglas Crockford, The JavaScript Programming Language (video l
-
The Document Object ModelWhen you open a web page in your browser, the browser retrieves the page’s HTML text and parses it, much like the way ou
-
Handling EventsYou have power over your mind—not outside events. Realize this, and you will find strength. Marcus Aurelius, Meditations
-
Project: A Platform GameAll reality is a game. Iain Banks, The Player of Games My initial fascination with computers, like that of many kids, o
-
Drawing on CanvasDrawing is deception. M.C. Escher, cited by Bruno Ernst in The Magic Mirror of M.C. Escher Browsers give us several way
-
HTTPThe dream behind the Web is of a common information space in which we communicate by sharing information. Its universali
-
Forms and Form FieldsI shall this very day, at Doctor’s feast, My bounden service duly pay thee. But one thing!—For insurance’ sake, I pray t
-
Project: A Paint ProgramI look at the many colors before me. I look at my blank canvas. Then, I try to apply colors like words that shape poems,
-
Node.jsA student asked ‘The programmers of old used only simple machines and no programming languages, yet they made beautiful
-
Project: Skill-Sharing WebsiteA skill-sharing meeting is an event where people with a shared interest come together and give small, informal presentat
-
Code sandbox and exercise solutionsYou can use this page to download source code and solutions to exercises for the book Eloquent JavaScript, and to dire
-
Errata for the paper bookThese are the known mistakes in the second edition of the book. For errata in the first edition, see this page. To repor