- Теория
- Теория
Драйвер печати: страницы в обратном порядке
Теперь выведем страницы в обратном порядке.
Режим будет называться 'reverse'
, нужно добавить условие и отдельный цикл.
Как писать циклы по подобным условиям: «Добавьте цикл, который уменьшает значение переменной i
от 10 до 1 включительно. Уменьшайте значение i
на единицу на каждой итерации»? Как обычно, будем разбираться постепенно.
»…цикл, который уменьшает значение переменной i
от 10 до 1 включительно». Счётчик здесь i
, а его стартовое значение 10
. Записываем.
for (let i = 10;) {
…
}
»…цикл, который уменьшает значение переменной i
от 10 до 1 включительно». Это значит, что цикл закончит свою работу, когда i
станет равно 0
. При i = 1
цикл совершит очередную итерацию. Так как стартовое значение счётчика 10
и оно будет уменьшаться до 1
включительно, нам подойдёт знак «больше или равно». Сравнивать будем с 1
так как это значение, после которого цикл должен остановиться.
for (let i = 10; i >= 1;) {
…
}
Обратите внимание, что условие можно написать и немного по-другому. Если нам нужно учесть значение 1
, но при значении меньше 1
закончить работу цикла, то можно использовать знак «больше». Только сравнивать его с 0
. Тогда единица точно будет использоваться в качестве значения счётчика, а при 0
цикл закончит свою работу.
for (let i = 10; i > 0;) {
…
}
Есть два варианта написать условие в таких случаях, и оба верные. Можете использовать любой.
«Уменьшайте значение i
на единицу на каждой итерации». Здесь привычное нам изменение значения на единицу. Только теперь мы не увеличиваем значение счётчика, а уменьшаем, поэтому используем декремент.
for (let i = 10; i > 0; i--) {
…
}
Вернёмся к принтеру. В этом режиме мы будем считать страницы в обратном порядке и ждать, когда напечатается последняя страница, в нашем случае первая, так как счёт идёт с конца. Счётчик page
у нас уже был, поэтому используем reversePage
раз считаем страницы в обратном порядке.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.