annotate core-javascript/javascript-exercises/function-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 = null;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
2
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
3 TEST('return value', function()
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
4 {
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
5 var fn_1 = function(){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
6 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
7
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
8 assert( fn_1() === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
9
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
10 var fn_2 = function(){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
11 // Please write your answer here.
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
12 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
13
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
14 assert( fn_2() === 42 );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
15 });
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
16
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
17
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
18 TEST('parameters', function()
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
19 {
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
20 var something = null;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
21
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
22 var fn = function(a, b, c){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
23 // Please write your answer here.
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
24 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
25
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
26 assert( fn(1, 2, 3) === 2 );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
27 assert( fn(4, 5, 6) === 5 );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
28
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
29 assert( fn(7, 8) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
30
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
31 assert( fn(9, 10, 11, 12) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
32
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
33 assert( fn(13) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
34
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
35 assert( fn() === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
36 });
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
37
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
38
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
39 TEST('arguments', function()
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
40 {
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
41 var something = null;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
42
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
43 // 1
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
44 var fn_1 = function(){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
45 return arguments.length;
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
46 };
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
47
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
48 assert( fn_1() === 0 );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
49 assert( fn_1(0) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
50 assert( fn_1(0, 0) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
51 assert( fn_1(0, 0, 0) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
52
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
53
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
54 // 2
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
55 var fn_2 = function(i){
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
56 return arguments[i];
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 assert( fn_2(0) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
60 assert( fn_2(1, 1, 2) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
61 assert( fn_2(2, 10, 11) === something );
74fc8108fef2 $ python py/remove_answers.py
jf3243
parents:
diff changeset
62 });