update html css

This commit is contained in:
2025-03-06 13:07:51 +03:00
parent c3c72fc22e
commit a9d2a5f182
10 changed files with 466 additions and 32 deletions

View File

@@ -8,7 +8,7 @@ sidebar_position: 1
Генераторы могут порождать (yield) множество значений одно за другим, по мере необходимости. Генераторы отлично работают с перебираемыми объектами и позволяют легко создавать потоки данных.
- Генераторы создаются при помощи функций-генераторов function* f(…) \{…}.
- Генераторы создаются при помощи функций-генераторов `function* f(…) {…}`.
- Внутри генераторов и только внутри них существует оператор yield.
- Внешний код и генератор обмениваются промежуточными результатами посредством вызовов next/yield.
@@ -18,11 +18,11 @@ sidebar_position: 1
Источник: [https://learn.javascript.ru/generators](https://learn.javascript.ru/generators)
Для объявления генератора используется специальная синтаксическая конструкция: function*, которая называется «функция-генератор».
Основным методом генератора является next(). При вызове он запускает выполнение кода до ближайшей инструкции yield <значение> (значение может отсутствовать, в этом случае оно предполагается равным undefined). По достижении yield выполнение функции приостанавливается, а соответствующее значение возвращается во внешний код:
Основным методом генератора является next(). При вызове он запускает выполнение кода до ближайшей инструкции `yield <значение>` (значение может отсутствовать, в этом случае оно предполагается равным undefined). По достижении yield выполнение функции приостанавливается, а соответствующее значение возвращается во внешний код:
Результатом метода next() всегда является объект с двумя свойствами:
- value: значение из yield.
- done: true, если выполнение функции завершено, иначе false.
- **value**: значение из `yield`.
- **done**: `true`, если выполнение функции завершено, иначе `false`.
```js
function* generateSequence() {
yield 1;
@@ -42,8 +42,8 @@ alert(JSON.stringify(one)); // {value: 1, done: false}
## Перебор генераторов
Как вы, наверное, уже догадались по наличию метода next(), генераторы являются перебираемыми объектами.
Возвращаемые ими значения можно перебирать через for..of
Это из-за того, что перебор через for..of игнорирует последнее значение, при котором done: true. Поэтому, если мы хотим, чтобы были все значения при переборе через for..of, то надо возвращать их через yield:
Возвращаемые ими значения можно перебирать через `for..of`
Это из-за того, что перебор через `for..of` игнорирует последнее значение, при котором `done: true`. Поэтому, если мы хотим, чтобы были все значения при переборе через `for..of`, то надо возвращать их через `yield`:
```js
function* generateSequence() {
yield 1;