undef.js (612B)
1 /* Handle recompilation on undefined variables. */ 2 3 function local() 4 { 5 var x; 6 x++; 7 assertEq(x, NaN); 8 x = 0; 9 } 10 local(); 11 12 function name(v) 13 { 14 var x; 15 with (v) { 16 x++; 17 assertEq(x, NaN); 18 } 19 assertEq(x, NaN); 20 x = 0; 21 } 22 name({}); 23 24 function letname(v) 25 { 26 if (v) { 27 let x; 28 with (v) { 29 x = "twelve"; 30 } 31 assertEq(x, "twelve"); 32 } 33 } 34 letname({}); 35 36 function upvar() 37 { 38 var x; 39 function inner() { 40 x++; 41 assertEq(x, NaN); 42 } 43 inner(); 44 } 45 upvar(); 46 47 var x; 48 var y; 49 50 function global() 51 { 52 x++; 53 assertEq(x, NaN); 54 var z = 2 + y; 55 assertEq(z, NaN); 56 } 57 global(); 58 59 x = 0; 60 y = 0;