Почему числа выводятся начиная не с 0 а с 1?
вы реально не видите разницы?
в первом сначала выводится, затем плюсуется единаца.
во втором сначала плюсуется единица, затем выводится.
проще конечно пынять на движки, а не собственную оленеподобность.
В этом варианте кода на момент вывода к i уже прибавлена единица. Соответственно вывод начнется со значения 1 и будет 1, 2, 3, 4, 5,  6, 7, 8, 9, 10var i = 0;
while (i < 10) {
    i += 1;
    console.log(i)
}
А в этом варианте кода на момент вывода i единица  еще не прибавлена. Соответственно вывод начнется со значения 0 и будет 0, 1, 2, 3, 4, 5,  6, 7, 8, 9var i = 0;
while (i < 10) {
    console.log(i)
    i += 1;
}