Page 131 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 131
const arr = [ 1 , 2 , 3 ] ;
arr [ l ] = getGreeting; // arr теперь [1 , function getGreeting () , 2]
arr [ l ] ( ) ; / / "Hello, World! "
Этот последний пример проясняет роль круглых скобок: если JavaScript встреча
ет кругш.rе скобки, которые следуют за значением, значение считается функцией и эту
1
функцию следует вызвать. В приведенном примере arr [ ] является выражением, ко
торое возвращает значение. Данное значение, сопровождаемое круглыми скобками,
является сигналом JavaScript о том, что это значение - функция и ее следует вызвать.
Если вы попытаетесь добавить круглые скобки к значению, не явля
ющемуся функцией, то вы получите ошибку. Например, "whoo s " ( )
p
приведет к сообщению об ошибке TypeError : "whoops " i s not а
function.
Ар г ументы фун к ции
Мы теперь знаем, как вызывать функции и получать значения из них. А как пере
давать информацию в них� Основной механизм передачи информации при вызове
функции - это а р гументы (argument) функции (иногда называемые ее параметрами
(parameter)). Аргументы похожи на переменные, которые не существуют, пока функ
ция не будет вызвана. Давайте рассмотрим функцию, получающую два числовых ар
гумента и возвращающую их средние значения.
function avg ( a , Ь ) {
return ( а + Ь ) /2 ;
В этом объявлении функции а и Ь - это формальные аргументы (formal
argument). При вызове функции формальные аргументы получают значения и стано
вятся фактическими аргументами (actual argument).
avg 5 , 1 0 ) ; 11 7 . 5
(
В этом примере формальные аргументы а и Ь получают значения 5 и 1 О и стано
вятся фактическими аргументами (которые очень похожи на переменные, но специ
фичны для тела функции).
У новичков нередко возникает недопонимание того, что аргументы существуют
только в функции, даже если у них то же имя, что и у переменных за пределами
функции. Рассмотрим пример.
const а = 5, Ь = 1 0 ;
avg а , Ь ) ;
(
Переменные а и Ь здесь являются отдельными переменными, независимы
ми от аргументов а и Ь функции avg, несмотря на совпадение их имен. Когда вы
Аргументы функци и 1 3 1

