annotate core-javascript/exercise-1.rst @ 194:2f10061fec29 javascript-exercises

$ python py/remove_answers.py
author jf3243
date Mon, 21 Nov 2011 17:27:12 +0000
parents 58e4f484903f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
105
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
1 Exercise one
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
2 ============
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
3
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
4 Here's some JavaScript code I found somewhere. I've changed the names
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
5 of everything to hide the origin of the code. But it's not something
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
6 I've made up.
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
7
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
8 The exercise is
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
9
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
10 #. Understand and describe what it does.
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
11
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
12 #. Provide clearer code that does the same thing.
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
13
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
14 #. Suggest a better way of going about things.
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
15
145
58e4f484903f Fix errors caused by mv in previous commit.
Jonathan Fine <jfine@pytex.org>
parents: 130
diff changeset
16 .. literalinclude:: /core-javascript-work/exercise-1.js
105
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
17 :language: javascript
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
18
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
19
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
20 Hints
130
ff23e32bbe29 Sort out table of contents, and various minor changes.
jf3243
parents: 105
diff changeset
21 -----
105
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
22
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
23 #. The code creates and calls an anonymous function, a bit like this.
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
24
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
25 .. code-block:: javascript
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
26
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
27 js> a = function(x){return x + 1}(2)
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
28 3
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
29
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
30 #. What happens if AAA is an object?
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
31
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
32 #. What happens if AAA is undefined?
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
33
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
34 #. For now, ignore the assignment to BBB.fff. What value does AAA
3378646481f8 Add exercise 1.
jf3243
parents:
diff changeset
35 get? (The answer depends the initial value of AAA.)