testNestedClosures.js (642B)
1 function testNestedClosures() { 2 function f(a, b) { 3 function g(x, y) { 4 function h(m, n) { 5 function k(u, v) { 6 var s = ''; 7 for (var i = 0; i < 5; ++i) 8 s = a + ',' + b + ',' + x + ',' + y + ',' + m + ',' + n + ',' + u + ',' + v; 9 return s; 10 } 11 return k(m+1, n+1); 12 } 13 return h(x+1, y+1); 14 } 15 return g(a+1, b+1); 16 } 17 18 var s1; 19 for (var i = 0; i < 5; ++i) 20 s1 = f(i, i+i); 21 return s1; 22 } 23 assertEq(testNestedClosures(), '4,8,5,9,6,10,7,11');