annotate core-javascript/javascript-exercises/scope-exercises.js @ 191:74fc8108fef2 javascript-exercises

$ python py/remove_answers.py
author jf3243
date Mon, 21 Nov 2011 16:50:01 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
191
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
1 var something;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
2
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
3 TEST('read scope', function()
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
4 {
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
5 var a;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
6 a = 3;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
7
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
8 // 1
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
9 var fn_1 = function(a){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
10 return a;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
11 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
12
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
13 assert( fn_1(42) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
14
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
15 // 2
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
16 var fn_2 = function(b){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
17 return a;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
18 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
19
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
20 assert( fn_2(42) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
21
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
22 // 3
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
23 var fn_3 = function(b){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
24 var a = b - 10;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
25 return a;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
26 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
27
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
28 assert( fn_3(42) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
29 });
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
30
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
31
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
32 TEST('assign scope', function()
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
33 {
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
34 var a;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
35
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
36 // 1
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
37 var fn_1 = function(a){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
38 a = 5;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
39 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
40
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
41 a = 3;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
42 fn_1(42);
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
43 assert( a === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
44
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
45 // 2
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
46 var fn_2 = function(b){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
47 a = 5;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
48 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
49
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
50 a = 3;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
51 fn_2(42);
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
52 assert( a === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
53
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
54 // 3
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
55 var fn_3 = function(b){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
56 var a = b;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
57 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
58
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
59 a = 3;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
60 fn_3(42);
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
61 assert( a === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
62
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
63 // 4
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
64 var fn_4 = function(b){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
65 a = b;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
66 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
67
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
68 a = 3;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
69 fn_4(42);
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
70 assert( a === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
71 });
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
72
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
73
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
74 TEST('function body', function()
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
75 {
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
76 var a;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
77 var b;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
78
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
79 var fn_1 = function(c){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
80 // Please write your answer here.
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
81 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
82
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
83 a = 3;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
84 b = fn_1(5);
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
85 assert( a === 5);
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
86 assert( b === 3 * 5 );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
87
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
88 });