|
191
|
1 var something;
|
|
|
2
|
|
|
3 TEST('read scope', function()
|
|
|
4 {
|
|
|
5 var a;
|
|
|
6 a = 3;
|
|
|
7
|
|
|
8 // 1
|
|
|
9 var fn_1 = function(a){
|
|
|
10 return a;
|
|
|
11 };
|
|
|
12
|
|
|
13 assert( fn_1(42) === something );
|
|
|
14
|
|
|
15 // 2
|
|
|
16 var fn_2 = function(b){
|
|
|
17 return a;
|
|
|
18 };
|
|
|
19
|
|
|
20 assert( fn_2(42) === something );
|
|
|
21
|
|
|
22 // 3
|
|
|
23 var fn_3 = function(b){
|
|
|
24 var a = b - 10;
|
|
|
25 return a;
|
|
|
26 };
|
|
|
27
|
|
|
28 assert( fn_3(42) === something );
|
|
|
29 });
|
|
|
30
|
|
|
31
|
|
|
32 TEST('assign scope', function()
|
|
|
33 {
|
|
|
34 var a;
|
|
|
35
|
|
|
36 // 1
|
|
|
37 var fn_1 = function(a){
|
|
|
38 a = 5;
|
|
|
39 };
|
|
|
40
|
|
|
41 a = 3;
|
|
|
42 fn_1(42);
|
|
|
43 assert( a === something );
|
|
|
44
|
|
|
45 // 2
|
|
|
46 var fn_2 = function(b){
|
|
|
47 a = 5;
|
|
|
48 };
|
|
|
49
|
|
|
50 a = 3;
|
|
|
51 fn_2(42);
|
|
|
52 assert( a === something );
|
|
|
53
|
|
|
54 // 3
|
|
|
55 var fn_3 = function(b){
|
|
|
56 var a = b;
|
|
|
57 };
|
|
|
58
|
|
|
59 a = 3;
|
|
|
60 fn_3(42);
|
|
|
61 assert( a === something );
|
|
|
62
|
|
|
63 // 4
|
|
|
64 var fn_4 = function(b){
|
|
|
65 a = b;
|
|
|
66 };
|
|
|
67
|
|
|
68 a = 3;
|
|
|
69 fn_4(42);
|
|
|
70 assert( a === something );
|
|
|
71 });
|
|
|
72
|
|
|
73
|
|
|
74 TEST('function body', function()
|
|
|
75 {
|
|
|
76 var a;
|
|
|
77 var b;
|
|
|
78
|
|
|
79 var fn_1 = function(c){
|
|
|
80 // Please write your answer here.
|
|
|
81 };
|
|
|
82
|
|
|
83 a = 3;
|
|
|
84 b = fn_1(5);
|
|
|
85 assert( a === 5);
|
|
|
86 assert( b === 3 * 5 );
|
|
|
87
|
|
|
88 });
|