САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

JS Учебник

JS Главная JS Введение JS Где установить? JS Вывод JS Заявления JS Синтаксис JS Комментарии JS Переменные JS Операторы JS Арифметика JS Присваивания JS Типы данных JS Функции JS Объекты JS События JS Строки JS Методы строк JS Числа JS Методы чисел JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Объекты дат JS Формат дат JS Метод получения дат JS Метод набора дат JS Математические... JS Случайные числа JS Булевы JS Сравнение... JS Заявления if...else JS Заявление switch JS Цикл for JS Цикл while JS Заявление break... JS Преобразование... JS Битовые... JS Регулярные выражения JS Ошибки JS Область JS Подъемный JS Строгий JS Ключевое слово this JS Ключевое слово let JS Константы JS Функция стрелки JS Классы JS Отладчик JS Руководство стиля JS Практика JS Распространенные ошибки JS Эффективность JS Зарезервированные слова JS Версии JS Версия ES5 JS Версия ES6 JS Версия 2016 JS Версия 2017 JS JSON

JS Формы

JS Формы JS Формы API

JS Объекты

Определение объекта Свойства объекта Методы объекта Отображение объекта Доступ к объекту Конструкторы объекта Прототипы объекта ES5 Методы объекта

JS Функции

Определение функции Параметры функции Вызов функции Вызвать функцию Применение функции Закрытие функции

JS Прочее

Классы введение Наследование класса Статические методы... JS Обратный вызов JS Асинхронный JS Обещания JS Асинхронный синтаксис

JS HTML DOM

DOM Введение DOM Методы DOM Документы DOM Элементы DOM HTML DOM CSS DOM Анимация DOM События DOM Прослушиватель событий DOM Навигация DOM Узлы DOM Коллекция DOM Список узлов

JS Браузера BOM

JS Window JS Экран JS Расположение JS История JS Навигатор JS Предупреждение JS Синхронизация JS Cookies

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос на сервер AJAX Ответ с сервера AJAX XML Файл AJAX PHP Файл AJAX ASP Файл AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON или XML JSON Типы данных JSON Парсинг JSON Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS Веб API

API - Введение API - История API - Хранилище API - Работник API - Извлечь файл API - Геолокации

JS или jQuery

jQuery HTML Селекторы jQuery HTML Элементы jQuery CSS Стили jQuery HTML DOM

JS Примеры

JS Примеры JS HTML DOM JS HTML Ввода JS HTML Объекты JS HTML События JS Браузер JS Редактор JS Упражнения JS Викторина JS Сертификат

JS Справочник

JavaScript Объекты HTML DOM Объекты


JavaScript Функции



Функция JavaScript - это блок кода, предназначенный для выполнения определенной задачи.

Функция JavaScript выполняется, когда ее вызывают (вызвает) "что-то".


Пример

function myFunction(p1, p2) {
  return p1 * p2;   // Функция возвращает произведение p1 и p2
}
Попробуйте сами »

Синтаксис функции JavaScript

Функция JavaScript определяется с помощью function ключевого слова, за которым следует имя и скобки ().

Имена функций могут содержать буквы, цифры, подчеркивания и знаки доллара (те же правила, что и для переменных).

Скобки могут включать имена параметров, разделенные запятыми:
(parameter1, parameter2, ...)

Код, который должна выполнить функция, помещается в фигурные скобки: {}

function name(parameter1, parameter2, parameter3) {
  // код для выполнения
}

Параметры функции перечислены в скобках () в определении функции.

Аргументы функции - это значения , получаемые функцией при ее вызове.

Внутри функции аргументы (параметры) действуют как локальные переменные.

Функция во многом похожа на процедуру или подпрограмму на других языках программирования.


Вызов функции

Код внутри функции будет выполняться, когда "что-то" вызывает (вызывается) функцию:

  • Когда происходит событие (когда пользователь нажимает кнопку)
  • Когда он вызывает (вызывается) из кода JavaScript
  • Автоматически (вызывается самостоятельно)

Вы узнаете гораздо больше о вызове функций позже в этом руководстве.



Возврат функции

Когда JavaScript достигает return оператора, функция прекращает выполнение.

Если функция была вызвана из оператора, JavaScript "вернется" для выполнения кода после вызывающего оператора.

Функции часто вычисляют возвращаемое значение. Возвращаемое значение "возвращается" обратно "вызывающему":

Пример

Вычислите произведение двух чисел и верните результат:

var x = myFunction(4, 3);   // Функция вызывается, возвращаемое значение будет в конечном итоге в x

function myFunction(a, b) {
  return a * b;             // Функция возвращает произведение a и b
}

Результат в x будет:

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;
Попробуйте сами »

Функции, используемые как значения переменных

Функции можно использовать так же, как и переменные, во всех типах формул, назначений и вычислений.

Пример

Вместо использования переменной для хранения возвращаемого значения функции:

var x = toCelsius(77);
var text = "Температура " + x + " по цельсию";

Вы можете использовать функцию напрямую, как значение переменной:

var text = "Температура " + toCelsius(77) + " по цельсию";
Попробуйте сами »

Позже в этом руководстве вы узнаете гораздо больше о функциях.


Локальные переменные

Переменные, объявленные в функции JavaScript, становятся ЛОКАЛЬНЫМИ для функции.

Доступ к локальным переменным возможен только из функции.

Пример

// код здесь, нельзя использовать carName

function myFunction() {
  var carName = "Вольво";
  // код здесь, можно использовать carName
}

// код здесь, нельзя использовать carName
Попробуйте сами »

Поскольку локальные переменные распознаются только внутри своих функций, переменные с одинаковыми именами могут использоваться в разных функциях.

Локальные переменные создаются при запуске функции и удаляются, когда функция завершается.


Проверьте себя с помощью упражнений

Упражнение:

Выполните названную функцию myFunction.

function myFunction() {
alert("Привет, мир!");
}
;

Старт