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 );
+});
+