for (var i = 0; i < 10; i++)
document.write(i);
alert(i);
for - это языковая конструкция, а не функция, которой вы передаете аргументы
var i;
for (i = 0; i < 10; i++)
document.write(i);
alert(i);
function doSmth()
{
var i; // будучи определенной через var, i объявляется за пределом блока for.
for (i = 0; i < 10; i++)
document.write(i);
alert(i);
}
for (let i = 0; i < 10; i++)
document.write(i);
alert(i); // будет ошибка undefined