Escopo da variável de loop de JavaScript

Apenas uma pergunta rápida sobre o escopo de variáveis ​​JavaScript.

Por que oalert() função imprimir o valor dei em vez de retornarundefined?

$(document).ready(function () {
    for(var i = 0; i < 10; i += 1){
    }

     alert("What is 'i'? " + i);
});

Eu sou relativamente novo no JS, e em quase todas as outras linguagens que eu já experimentei, uma declaração no escopo do loop for conteria o valor para o dito loop, mas não neste caso, por quê?

isto éWhat is 'i'? 10' é impresso.

questionAnswers(5)

yourAnswerToTheQuestion