Пусть у нас есть функция, параметром принимающая два числа и возвращающая сумму квадратов этих чисел:
function func(num1, num2) {
return num1 * num1 + num2 * num2;
}
alert(func(2, 3)); // выведет 13 (результат 2 * 2 + 3 * 3)
Давайте операцию возведения в квадрат вынесем
в вспомогательную функцию square
:
function square(num) {
return num * num;
}
function func(num1, num2) {
return square(num1) + square(num2);
}
alert(func(2, 3)); // выведет 13
Пусть мы уверены, что функция square
будет использоваться только в функции func
и больше ни в какой другой.
В этом случае было бы удобно сделать так, чтобы ее никто случайно не использовал (вы сами или другой программист, работающий вместе с вами).
В JavaScript есть изящное решение: можно
нашу вспомогательную функцию square
поместить вовнутрь func
. В этом случае
наша вспомогательная функция будет доступна
только внутри func
, а снаружи - не будет.
Сделаем это:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
alert(func(2, 3)); // выведет 13
Попытка вызвать square
снаружи func
приведет к ошибке:
function func(num1, num2) {
function square(num) {
return num * num;
}
return square(num1) + square(num2);
}
alert(square(2)); //!! выдаст ошибку
Сделайте функцию func
, которая параметрами
будет принимать два числа, а возвращать сумму
квадрата первого числа с кубом второго числа.
Сделайте для этого вспомогательную функцию
square
, возводящую число в квадрат,
и вспомогательную функцию cube
, возводящую
число в куб.