Mercurial > js4py
diff core-javascript/tutorial.js @ 112:df92f9f165c7 core-javascript
Add closures.rst and it JavaScript test.
| author | jf3243 |
|---|---|
| date | Wed, 26 Oct 2011 16:42:59 +0100 |
| parents | 73859bf6d639 |
| children | e73b36990587 |
line wrap: on
line diff
--- a/core-javascript/tutorial.js Wed Oct 26 16:32:34 2011 +0100 +++ b/core-javascript/tutorial.js Wed Oct 26 16:42:59 2011 +0100 @@ -17,6 +17,47 @@ NaN != NaN || ddt; +// start closures +TEST('closures', function() +{ + + var get_set_factory = function(){ + + var value; + var get = function(){ + return value; + }; + var set = function(new_value){ + value = new_value; + }; + + return { + get: get, + set: set + }; + }; + + var tmp; + + tmp= get_set_factory(); + var get_a = tmp.get; + var set_a = tmp.set; + + tmp= get_set_factory(); + var get_b = tmp.get; + var set_b = tmp.set; + + + set_a(12); + assert( get_a() === 12 ); + + set_b(13); + assert( get_b() === 13 ); + +}); +// end closures + + // start return_this TEST('return_this', function() {
