Eloquent JavaScript[1].pdf

Text preview
for loops . . . . . . . . . . . . . . .
Breaking Out of a Loop . . . . . .
Updating variables succinctly . . .
Dispatching on a value with switch
Capitalization . . . . . . . . . . . .
Comments . . . . . . . . . . . . . .
Summary . . . . . . . . . . . . . . .
Exercises . . . . . . . . . . . . . . .
3 Functions
Defining a function . . . .
Parameters and scopes . .
Nested scope . . . . . . . .
Functions as values . . . .
Declaration notation . . .
The call stack . . . . . . .
Optional Arguments . . . .
Closure . . . . . . . . . . .
Recursion . . . . . . . . . .
Growing functions . . . . .
Functions and side effects
Summary . . . . . . . . . .
Exercises . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Data Structures: Objects and Arrays
The weresquirrel . . . . . . . . . . . . . .
Data sets . . . . . . . . . . . . . . . . . .
Properties . . . . . . . . . . . . . . . . .
Methods . . . . . . . . . . . . . . . . . .
Objects . . . . . . . . . . . . . . . . . . .
Mutability . . . . . . . . . . . . . . . . .
The lycanthrope’s log . . . . . . . . . . .
Computing correlation . . . . . . . . . .
Objects as maps . . . . . . . . . . . . . .
The final analysis . . . . . . . . . . . . .
Further arrayology . . . . . . . . . . . . .
Strings and their properties . . . . . . .
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
36
36
37
38
38
39
40
.
.
.
.
.
.
.
.
.
.
.
.
.
42
42
43
45
46
47
48
49
50
52
55
58
58
59
.
.
.
.
.
.
.
.
.
.
.
.
61
61
62
63
64
65
68
69
71
73
74
76
78