Написал цикл, в котором переменная q от 4 стремится к -8. Но когда запускаю этот код, то вместо вывода 4 3 2 ... -7 получаю 4 5 6 7. Почему цикл идёт не в ту сторону, да ещё и игнорирует минус у восьмёрки?
for // запускаем цикл
(
var // по переменной
q // q
= // с начальным значением
4 // 4
; // так чтобы
q // она
--> // стремилась к
-8 // -8
; // и после каждого выполнения тела
++ // переходим к следующему шагу
q // по переменной q
)
console // консоль
. // просим
log // отобразить
(
q // текущее значение переменной q
)
Браузер сильно боится минусов, особенно если их 2 и они в начале строки. Поэтому просто уберем их. Но просто так нельзя, надо вернуть куда-нибудь ниже. Я отредактировал ваш код, теперь он работает.
for // запускаем цикл
(
var // по переменной
q // q
= // с начальным значением
4 // 4
; // так чтобы
q // она
// убрали, не будем пугать
+8 // плюсов он не боится
; // и после каждого выполнения тела
// переходим к следующему шагу
q-- // надо же вернуть что убрали
)
console // консоль
. // просим
log // отобразить
(
q // текущее значение переменной q
)
На самом деле, в глубине души, переменная стремится именно туда, куда вы (как родитель) её направили. Но обстоятельства часто накладывают свои ограничения на устремления переменных и они могут сбиться с пути из-за минусов в жизненном цикле.
Попробуйте так:
for (var q = 4; q > -8; q--) {
console.log(q);
}
Таким образом вы покажете ей куда лучшую жизненную цель (-8) и будете сами минусовать её помехи на пути (q--).
Сборка персонального компьютера от Artline: умный выбор для современных пользователей