I am a bit confused http://jsfiddle.net/
{ for (var counter = 1; counter < 6; counter++) { } } console.log(counter); If variables from loops are available in the scope the for loop is created, then why do I have access to the variable one level higher, since I created another scope by putting those brackets?