0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Опишем функцию greeting, которая печатает на экран приветствие:</p>
1
<p>Опишем функцию greeting, которая печатает на экран приветствие:</p>
2
<p>Но что произойдет, если при вызове функции передать ей меньшее число аргументов, чем у нее установлено параметров? Давайте посмотрим:</p>
2
<p>Но что произойдет, если при вызове функции передать ей меньшее число аргументов, чем у нее установлено параметров? Давайте посмотрим:</p>
3
<p>Правило здесь простое: параметры, которым "не досталось" аргумента, автоматически инициализируются значением undefined. Проиллюстрируем это подробнее на примере функции, которая принимает на вход три параметра и распечатывает их значения:</p>
3
<p>Правило здесь простое: параметры, которым "не досталось" аргумента, автоматически инициализируются значением undefined. Проиллюстрируем это подробнее на примере функции, которая принимает на вход три параметра и распечатывает их значения:</p>
4
<p>Бывают ситуации, когда заранее неизвестно будет ли вообще передан в ходе выполнения кода функции аргумент или будет ли переданный аргумент содержать осмысленное значение (отличное от значения undefined). В таких случаях удобно предусмотреть какое-нибудь дефолтное значение для параметра.</p>
4
<p>Бывают ситуации, когда заранее неизвестно будет ли вообще передан в ходе выполнения кода функции аргумент или будет ли переданный аргумент содержать осмысленное значение (отличное от значения undefined). В таких случаях удобно предусмотреть какое-нибудь дефолтное значение для параметра.</p>
5
<p>Допустим, мы хотим, чтобы при вызове функции greeting без параметров, она выводила сообщение Hi, anonymous!.</p>
5
<p>Допустим, мы хотим, чтобы при вызове функции greeting без параметров, она выводила сообщение Hi, anonymous!.</p>
6
<p>Тогда мы можем реализовать ее следующим образом:</p>
6
<p>Тогда мы можем реализовать ее следующим образом:</p>
7
<p>Однако, JavaScript поддерживает механизм значений по умолчанию, позволяющий немного упростить код:</p>
7
<p>Однако, JavaScript поддерживает механизм значений по умолчанию, позволяющий немного упростить код:</p>
8
<p>Работает он следующим образом. Если параметр не передан, то подставляется значение по умолчанию (то, что справа от оператора =). Если параметр передан, то переприсваивания не происходит. Параметр будет равен тому значению, которое было фактически передано в функцию.</p>
8
<p>Работает он следующим образом. Если параметр не передан, то подставляется значение по умолчанию (то, что справа от оператора =). Если параметр передан, то переприсваивания не происходит. Параметр будет равен тому значению, которое было фактически передано в функцию.</p>
9
<p>Кроме того, в значениях по умолчанию можно использовать идентификаторы:</p>
9
<p>Кроме того, в значениях по умолчанию можно использовать идентификаторы:</p>
10
<p>И даже вызовы функций:</p>
10
<p>И даже вызовы функций:</p>
11
<p>Но не стоит злоупотреблять этим способом. Значения по умолчанию не всегда подходят для полноценного программирования.</p>
11
<p>Но не стоит злоупотреблять этим способом. Значения по умолчанию не всегда подходят для полноценного программирования.</p>
12
<h2>Примечание</h2>
12
<h2>Примечание</h2>
13
<p><em>В этом уроке мы рассмотрели случай, когда в функцию передается меньше параметров, чем она ожидает. У вас может возникнуть вопрос, что будет, если при вызове передать большее количество параметров, чем установлено в определении функции?</em></p>
13
<p><em>В этом уроке мы рассмотрели случай, когда в функцию передается меньше параметров, чем она ожидает. У вас может возникнуть вопрос, что будет, если при вызове передать большее количество параметров, чем установлено в определении функции?</em></p>
14
<p>Ответ: ничего не произойдет, они будут просто проигнорированы.</p>
14
<p>Ответ: ничего не произойдет, они будут просто проигнорированы.</p>