Page 130 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 130
Возвращаемые значения
Вызов функции - это выражение, а как известно, выражения возвращают значе
ния. Так что возвращает вызов функции? Возвращаемое значение (return value). Клю
чевое слово return в теле функции немедленно завершает ее выполнение и возвраща
ет определенное значение, которое и является результатом вызова функции. Давайте
изменим наш пример: вместо вывода на консоль просто возвратим приветствие.
function getGreeting ( ) {
return "Hello world l " ;
Т е перь, когда происходит вызов, функция создает возвращаемое значение.
getGreeting ( ) ; / / "Hello, World! "
Без явного оператора return возвращаемое значение будет undefined. Функция
может возвратить значение любого типа; в качестве упражнения попробуйте создать
функцию getGreetings, возвращающую массив, содержащий строки "Hello, W o rld"
на разных языках.
Вызов и л и обращ е н и е
Функции в JavaScript являются объектами и могут быть переданы и присвоены
подобно любым другим объектам. Важно понимать различие между вызовом ( calling)
функции и просто обращением (referencing) к ней. Когда за идентификатором функ
ции следуют круглые скобки, JavaScript знает, что осуществляется вызов: выполняет
ся тело функции и выражение возвращает значение. Без круглых скобок вы просто
обращаетесь к функции, как к любому другому значению, а это не вызов. Опробуйте
следующее на консоли JavaScript.
getGreeting ( ) ; 1 1 "Hello, World! "
getGreeting; / / функция getGreeting ()
Возможность обращения к функции, как к любому другому значению (не вы
зывая ее), обеспечивает большую гибкость языка. Например, вы можете присвоить
функцию переменной, что позволит вызвать функцию под другим именем.
const f = getGreeting;
f ( ) ; 1 1 "Hello, World ! "
Или можете присвоить функцию свойству объекта.
const о = { } ;
o . f = getGreeting;
о . f ( ) ; / / "Hello, Wor ld ! "
Или даже добавить функцию в массив.
1 3 0 Глава б. Функции

