closure-01.js (279B)
1 /* Non-reentrant call on an inner and outer closure. */ 2 3 function foo() { 4 var x = 0; 5 function bar() { 6 var y = 0; 7 function baz() { 8 return ++x + ++y; 9 } 10 return baz; 11 } 12 return bar(); 13 } 14 15 var a = foo(); 16 var b = foo(); 17 assertEq(a() + a() + b() + b(), 12);