Mercurial > js4py
changeset 179:1ebd3e22afac javascript-exercises
Add scope-exercises.js - 'assign scope'.
| author | jf3243 |
|---|---|
| date | Thu, 17 Nov 2011 14:43:30 +0000 |
| parents | ecf5a2af0d8e |
| children | 358a1a6f5e36 |
| files | core-javascript/javascript-exercises/answers/scope-exercises.js |
| diffstat | 1 files changed, 47 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/core-javascript/javascript-exercises/answers/scope-exercises.js Thu Nov 17 14:34:21 2011 +0000 +++ b/core-javascript/javascript-exercises/answers/scope-exercises.js Thu Nov 17 14:43:30 2011 +0000 @@ -1,6 +1,6 @@ var something; -TEST('anon', function() +TEST('read scope', function() { var a; a = 3; @@ -28,7 +28,52 @@ }; something = 32; - assert( fn_2(42) === something ); + assert( fn_3(42) === something ); }); +TEST('assign scope', function() +{ + var a; + + // 1 + var fn_1 = function(a){ + a = 5; + }; + + a = 3; + fn_1(42); + something = 3; + assert( a === something ); + + // 2 + var fn_2 = function(b){ + a = 5; + }; + + a = 3; + fn_2(42); + something = 5; + assert( a === something ); + + // 3 + var fn_3 = function(b){ + var a = b; + }; + + a = 3; + fn_3(42); + something = 3; + assert( a === something ); + + // 4 + var fn_4 = function(b){ + a = b; + }; + + a = 3; + fn_4(42); + something = 42; + assert( a === something ); +}); +
