Функции JavaScript
Функция JavaScript — это блок кода, предназначенный для выполнения определенной задачи.
Функция JavaScript выполняется, когда «что-то» вызывает ее (вызывает).
Пример
function myFunction(p1, p2) {
return p1 * p2;
// The function returns the product of p1 and p2
}
Синтаксис функций JavaScript
Функция JavaScript определяется с помощью function
ключевого слова, за которым следует имя , за которым следуют круглые скобки () .
Имена функций могут содержать буквы, цифры, знаки подчеркивания и доллара (те же правила, что и для переменных).
Скобки могут включать названия параметров, разделенные запятыми:
( параметр1, параметр2, ... )
Код, который должен быть выполнен функцией, заключен в фигурные скобки: {}
function
name(parameter1, parameter2, parameter3) {
// code to be executed
}
Параметры функции перечислены в скобках () в определении функции.
Аргументы функции — это значения , полученные функцией при ее вызове.
Внутри функции аргументы (параметры) ведут себя как локальные переменные.
Функция во многом аналогична процедуре или подпрограмме в других языках программирования.
Вызов функции
Код внутри функции будет выполняться, когда «что-то» вызывает (вызывает) функцию:
- Когда происходит событие (когда пользователь нажимает кнопку)
- Когда он вызывается (вызывается) из кода JavaScript
- Автоматически (вызывается автоматически)
Вы узнаете намного больше о вызове функции позже в этом руководстве.
Возврат функции
Когда JavaScript достигает return
оператора, функция прекращает выполнение.
Если функция была вызвана из оператора, JavaScript «вернется» для выполнения кода после вызова оператора.
Функции часто вычисляют возвращаемое значение . Возвращаемое значение «возвращается» обратно «вызывающему»:
Пример
Вычислите произведение двух чисел и верните результат:
let x = myFunction(4, 3); // Function is called, return value will end up in x
function myFunction(a, b) {
return a * b;
// Function returns the product of a and b
}
Результат в х будет:
12
Почему функции?
Вы можете повторно использовать код: определите код один раз и используйте его много раз.
Вы можете использовать один и тот же код много раз с разными аргументами, чтобы получить разные результаты.
Пример
Преобразовать градусы Фаренгейта в градусы Цельсия:
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
document.getElementById("demo").innerHTML = toCelsius(77);
Оператор () вызывает функцию
Используя приведенный выше пример, toCelsius
ссылается на объект функции и
toCelsius()
ссылается на результат функции.
Доступ к функции без () вернет объект функции вместо результата функции.
Пример
function toCelsius(fahrenheit) {
return (5/9) * (fahrenheit-32);
}
document.getElementById("demo").innerHTML = toCelsius;
Функции, используемые в качестве значений переменных
Функции можно использовать так же, как и переменные, во всех типах формул, присваиваний и вычислений.
Пример
Вместо использования переменной для хранения возвращаемого значения функции:
let x = toCelsius(77);
let text = "The temperature is " + x + " Celsius";
Вы можете использовать функцию напрямую, как значение переменной:
let text = "The temperature is " + toCelsius(77) + " Celsius";
Вы узнаете намного больше о функциях позже в этом руководстве.
Локальные переменные
Переменные, объявленные в функции JavaScript, становятся ЛОКАЛЬНЫМИ для этой функции.
Доступ к локальным переменным возможен только внутри функции.
Пример
// code here can NOT use carName
function myFunction() {
let carName = "Volvo";
// code here CAN use carName
}
// code here can NOT use carName
Поскольку локальные переменные распознаются только внутри своих функций, переменные с одинаковыми именами могут использоваться в разных функциях.
Локальные переменные создаются при запуске функции и удаляются по завершении функции.