0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Изучающие программирование часто удивляются: почему функция "возвращает" результат? Почему именно такое странное слово -<strong>"возврат"</strong>? Как будто мы сначала даём ей результат, а потом она его возвращает обратно.</p>
1
<p>Изучающие программирование часто удивляются: почему функция "возвращает" результат? Почему именно такое странное слово -<strong>"возврат"</strong>? Как будто мы сначала даём ей результат, а потом она его возвращает обратно.</p>
2
<p>Понятно, что это не так. Мы даём функции аргументы (а иногда и вообще не даём ничего), а она даёт нам в ответ какую-то информацию… А иногда не даёт! Тогда мы говорим "она ничего не возвратила".</p>
2
<p>Понятно, что это не так. Мы даём функции аргументы (а иногда и вообще не даём ничего), а она даёт нам в ответ какую-то информацию… А иногда не даёт! Тогда мы говорим "она ничего не возвратила".</p>
3
<p>Странно!</p>
3
<p>Странно!</p>
4
<p>Дело в том, что return означает не возврат информации, а возврат управления.</p>
4
<p>Дело в том, что return означает не возврат информации, а возврат управления.</p>
5
<p>При вызове функции текущий код становится на паузу и передаёт управление в функцию. Функция делает свои дела и<strong>возвращает управление</strong>в то место, где происходил вызов. И заодно может отправить какую-то информацию туда.</p>
5
<p>При вызове функции текущий код становится на паузу и передаёт управление в функцию. Функция делает свои дела и<strong>возвращает управление</strong>в то место, где происходил вызов. И заодно может отправить какую-то информацию туда.</p>
6
<p>Что за управление? Управление той штукой, которая исполняет код. Грубо говоря - управление компьютером. Код передаёт функции пульт управления компьютером, а функция потом возвращает его обратно.</p>
6
<p>Что за управление? Управление той штукой, которая исполняет код. Грубо говоря - управление компьютером. Код передаёт функции пульт управления компьютером, а функция потом возвращает его обратно.</p>
7
<p>Мы привыкли читать подобный код как "функция возвращает значение answer", но правильнее будет читать "функция возвращает управление в место вызова и отправляет туда значение answer".</p>
7
<p>Мы привыкли читать подобный код как "функция возвращает значение answer", но правильнее будет читать "функция возвращает управление в место вызова и отправляет туда значение answer".</p>
8
<p>Именно поэтому внутри функции возможен такой код:</p>
8
<p>Именно поэтому внутри функции возможен такой код:</p>
9
<p>Здесь функция не "возвращает ничего", а "возвращает управление в место вызова и не отправляет туда никакую информацию".</p>
9
<p>Здесь функция не "возвращает ничего", а "возвращает управление в место вызова и не отправляет туда никакую информацию".</p>
10
<p>Конечно, такая формулировка хоть и технически более корректна, в реальной жизни нет смысла отказываться от "возвращает значение". Это, можно сказать, общепринятое сокращение.</p>
10
<p>Конечно, такая формулировка хоть и технически более корректна, в реальной жизни нет смысла отказываться от "возвращает значение". Это, можно сказать, общепринятое сокращение.</p>
11
<blockquote><h4>Полезная информация</h4>
11
<blockquote><h4>Полезная информация</h4>
12
<p>Начните изучать разработку с бесплатного курса<a>"Основы современной вёрстки"</a>. Вы научитесь создавать статические веб-страницы, стилизовать элементы, использовать редакторы кода с полезными расширениями. В конце курса вы опубликуете свой первый сайт на GitHub Pages.</p>
12
<p>Начните изучать разработку с бесплатного курса<a>"Основы современной вёрстки"</a>. Вы научитесь создавать статические веб-страницы, стилизовать элементы, использовать редакторы кода с полезными расширениями. В конце курса вы опубликуете свой первый сайт на GitHub Pages.</p>
13
</blockquote>
13
</blockquote>