1)
var n = 0;
while (n < 3) {
n++;
};
2
2)
var n = 0;
while (n < 3) {
++n;
};
3
1) В первом случаи, когда наступает третья итерация, то в While дает - false, а значит возвращает старый результат - 2, по тому что постфиксный инкремент возвращает старое значение переменной до увеличения? (Это мое предположение).
2) Тут же префиксная форма инкремента дает 3, ибо возвращает уже увеличенное значение переменное.