0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Интересная особенность некоторых функций - принимать переменное число параметров. Речь не идет о значениях по умолчанию. Посмотрите на этот пример:</p>
1
<p>Интересная особенность некоторых функций - принимать переменное число параметров. Речь не идет о значениях по умолчанию. Посмотрите на этот пример:</p>
2
<p>Функция Math.max() находит максимальное значение среди переданных параметров. Как вы думаете, сколько параметров она ожидает на вход? Если открыть документацию этой функции, то мы увидим странную конструкцию:</p>
2
<p>Функция Math.max() находит максимальное значение среди переданных параметров. Как вы думаете, сколько параметров она ожидает на вход? Если открыть документацию этой функции, то мы увидим странную конструкцию:</p>
3
<p>Math.max([value1[, value2[, ...]]])</p>
3
<p>Math.max([value1[, value2[, ...]]])</p>
4
<p>Такая запись говорит о том, что эта функция принимает на вход любое число параметров (и даже может быть вызвана без них). Необязательность передаваемых параметров описывается скобками<em>[ ]</em>, точно так же описываются и опциональные параметры, у которых есть значения по умолчанию. Возможность передачи любого числа параметров зашита в этой части<em>[, ...]</em>.</p>
4
<p>Такая запись говорит о том, что эта функция принимает на вход любое число параметров (и даже может быть вызвана без них). Необязательность передаваемых параметров описывается скобками<em>[ ]</em>, точно так же описываются и опциональные параметры, у которых есть значения по умолчанию. Возможность передачи любого числа параметров зашита в этой части<em>[, ...]</em>.</p>
5
<p>Все, что указывается в квадратных скобках, не обязательно. В такой записи Math.max([value1[, value2[, ...]]]) таких скобок несколько и они вложены друг в друга. Разберем каждую из них:</p>
5
<p>Все, что указывается в квадратных скобках, не обязательно. В такой записи Math.max([value1[, value2[, ...]]]) таких скобок несколько и они вложены друг в друга. Разберем каждую из них:</p>
6
<ul><li>Первые квадратные скобки содержат [value1[, value2[, ...]]], это значит, что можно вызывать функцию без параметров, так как эти квадратные скобки содержат все, что передается в функцию. Если убрать все содержимое этих скобок и сами скобки, то останется Math.max() - вызов без параметров.</li>
6
<ul><li>Первые квадратные скобки содержат [value1[, value2[, ...]]], это значит, что можно вызывать функцию без параметров, так как эти квадратные скобки содержат все, что передается в функцию. Если убрать все содержимое этих скобок и сами скобки, то останется Math.max() - вызов без параметров.</li>
7
<li>Вторые квадратные скобки вложены в первые и содержат [, value2[, ...]]. Они указывают на то, что если мы указали первый параметр, то можно опционально указать второй параметр. Без этих скобок и их содержимого, будет запись вида Math.max([value1]).</li>
7
<li>Вторые квадратные скобки вложены в первые и содержат [, value2[, ...]]. Они указывают на то, что если мы указали первый параметр, то можно опционально указать второй параметр. Без этих скобок и их содержимого, будет запись вида Math.max([value1]).</li>
8
<li>Третьи квадратные скобки вложены во вторые и содержат [, ...]. Многоточие указывает на то, что параметров может быть сколько угодно. Если убрать эти скобки и их содержимое, то получится запись вида Math.max([value1[, value2]]). Запятая стоит внутри квадратных скобок, так как если мы не указываем второй параметр, то запятая не нужна. Иначе вызов с одним параметром выглядел бы так Math.max(value1,).</li>
8
<li>Третьи квадратные скобки вложены во вторые и содержат [, ...]. Многоточие указывает на то, что параметров может быть сколько угодно. Если убрать эти скобки и их содержимое, то получится запись вида Math.max([value1[, value2]]). Запятая стоит внутри квадратных скобок, так как если мы не указываем второй параметр, то запятая не нужна. Иначе вызов с одним параметром выглядел бы так Math.max(value1,).</li>
9
</ul><h2>Рекомендуемые программы</h2>
9
</ul><h2>Рекомендуемые программы</h2>