Приступаем к изучению последнего урока темы функции в JavaScript. Поговорим об операторе return и таком понятии, как Возврат значений (результата своей работы) функцией.
Выводим результат работы функции на экран
Если вернуться к предыдущим урокам: Введение в Функции и Область видимости переменных, то мы увидим, что во всех примерах результат работы функции мы сразу выводили на экран при помощи метод write() объекта document.
<script type="text/javascript">
functionsquare(number) /* Создаем функцию */
{
var result= number * number; /* Создаем переменную, содержащую квадрат числа */
document.write(result); /* Выводим переменную на экран */
}
В этом примере мы создали функцию, которая вычисляет квадрат числа и выводит это значение (результат совей работы) на экран.
Но в основном в программировании нет необходимости сразу выводить результат работы функции подобным образом.
Возврат значения функции - Оператор return
Дело в том, что в JavaScript функция может возвращать результат своей работы (в данном случае числовое значение), а мы его, соответственно, получать, где это необходимо.
Продолжим работать с предыдущим примером. Только теперь мы не будем сразу выводить результат работы функции (то есть квадрат числа) на экран, а используем его в дальнейшем для каких-либо вычислений.
Для таких случаев предусмотрена возможность возврата значений функцией. Это делается при помощи оператора return. Давайте на примере посмотрим, как это реализуется...
<script type="text/javascript">
functionsquare(number) /* Создаем функцию */
{
var result= number * number; /* Создаем переменную, содержащую квадрат числа */
return result; /* Возвращаем переменную, содержащую квадрат числа */
}
var total=square(25); /* Вызываем функцию и заносим результат ее работы в переменную total */ document.write(total); /* Выводим переменную total на экран */
При помощи оператора return мы возвращаем значение функции - переменную result, содержащую квадрат числа.
Таким образом, мы имеем функцию, которая вычисляет квадрат числа, а потом возвращает это значение.
Теперь мы можем вызывать функцию в любом месте программы и использовать результат ее работы в своих целях.
Что мы и делаем далее: заносим значение (результат работы) функции в переменную total. Затем выводим эту переменную (а значит и результат работы функции) на экран.
Давайте еще раз повторим пройденный материал. Алгоритм наших действий таков:
Создаем функцию + возвращаем ее значение (результат работы) - операторreturn
Вызываем функцию в любом месте программы + заносим результат ее работы в какую-либо переменную
Используем переменную, содержащую значение функции по своему усмотрению
Используя все тот же пример с квадратом числа, посмотрим, как еще мы можем использовать возвращаемое при помощи оператора return значение функции...
<script type="text/javascript">
functionsquare(number) /* Создаем функцию */
{
var result= number * number; /* Создаем переменную, содержащую квадрат числа */
return result; /* Возвращаем переменную, содержащую квадрат числа */
}
var g=square(15) +square(9); /* Вызываем функцию и при этом мы заносим результат ее работы в переменную g */ document.write(g); /* Выводим переменную g на экран */
window.alert(g); /* Выводим переменную g при помощи метода alert */
Домашнее задание - Возврат значений функцией в JavaScript
Приступаем к выполнению домашнего задания по этому уроку, где мы рассмотрели работу оператора return и познакомились с понятием Возврат значений функцией.
Создать функцию fio(), которая поочередно запрашивает у пользователя имя, фамилию и отчество,
а в качестве результата своей работы возвращает ФИО одной строкой с пробелами между словами.
Для выполнения домашнего задания, помимо этого урока, нам нужно будет вспомнить материал, который мы проходили, изучая методы объекта Window: нам понадобиться метод prompt, который вызывает окно с полем для ввода информации.
Остальное Вам должно быть известно из текущего урока...
Далее я привожу решение этой задачи...
<script type="text/javascript">
functionfio() /* Создаем функцию */
{
var name_1=prompt("Назовите Ваше Имя"); /* Заносим информацию, возвращаемую методом prompt в переменную name_1 */
var name_2=prompt("Укажите Вашу Фамилию"); /* Заносим информацию, возвращаемую методом prompt в переменную name_2 */
var name_3=prompt("И, наконец, впишите свое отчество..."); /* Заносим информацию, возвращаемую методом prompt в переменную name_3 */
var full_name= fio(); /* Вызываем функцию и заносим ее значение (результат работы) в переменную full_name */ document.write(full_name); /* Выводим переменную full_name на экран */
Дата: 2019-07-04
А если не писать return в функции?