Лабораторные - Переменные. Функции (общие характеристики).


ПЕРЕМЕННЫЕ

Переменная – это «именованное хранилище» для данных; фрагмент информации, необходимый для выполнения задачи.

Мы можем объявить переменные для хранения данных с помощью ключевых слов varlet или const. Данные, хранимые в переменных, объявленных при помощи let и var, могут быть изменены!

Мы помещаем данные в переменную, используя оператор присваивания "=". Данные сохраняются в области памяти, связанной с переменной. Мы можем получить к ней доступ, используя имя переменной.

Переменные должны быть названы таким образом, чтобы мы могли легко понять, что у них внутри.

В JavaScript есть два ограничения, касающиеся имён переменных:

  1. Имя переменной должно содержать только буквы, цифры или символы $ и _.
  2. Первый символ не должен быть цифрой.

Если имя содержит несколько слов, обычно используется "верблюжья нотация", то есть, слова следуют одно за другим, где каждое следующее слово начинается с заглавной буквы: myVeryVeryLongStory.

И последнее, все переменные в JavaScript имеют определенную область видимости, в пределах которой они могут действовать.

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

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

 

ФУНКЦИИ

Часто нам приходится повторять одно и то же действие во многих частях программы. Чтобы не повторять один и тот же код во многих местах, в программировании существуют функции.

Для создания функций мы можем использовать объявление функции.

Пример объявления функции:

 function saluteMessage() {
  alert( 'Всем привет!' );
} 

Вначале идёт ключевое слово function, после него имя функции, затем список параметров в круглых скобках через запятую (в вышеприведённом примере он пустой) и, наконец, код функции, также называемый «телом функции», внутри фигурных скобок.

Функция может быть вызвана по имени, это выполнит её код ( "тело").

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

 Примеры:
function saluteMessage(name, text) { // аргументы: name, text
  alert(name + ': ' + text);
}

saluteMessage('Аня', 'Привет!'); // Аня: Привет! (*)
saluteMessage('Аня', "Как дела?"); // Аня: Как дела? (**) 

Когда функция вызывается в строках (*) и (**), переданные значения копируются в локальные переменные name и text. Затем они используются в теле функции.

 Вышеупомянутая функция saluteMessage(name, text) может быть вызвана с одним аргументом:

 saluteMessage("Аня"); 

Это не приведёт к ошибке. Такой вызов выведет "Аня: undefined". В вызове не указан параметр text, поэтому предполагается, что text === undefined.

Возврат значения

Функция может вернуть результат, который будет передан в вызвавший её код.

Простейшим примером может служить функция сложения двух чисел:

 function sum(a, b) {
  return a + b;
}

let result = sum(3, 2);
alert( result ); // 5 

*Директива return может находиться в любом месте тела функции. Как только выполнение доходит до этого места, функция останавливается, и значение возвращается в вызвавший её код (в данном случае присваивается переменной result выше).

*Можно использовать return и без значения. Это приведёт к немедленному выходу из функции.

В окончание можно сказать, что функции должны быть короткими и делать только что-то одно. Если это что-то большое, имеет смысл разбить функцию на несколько меньших. Два независимых действия обычно подразумевают две функции, даже если предполагается, что они будут вызываться вместе (в этом случае мы можем создать третью функцию, которая будет их вызывать).

Небольшие функции облегчают тестирование и отладку, положительно сказываются на читабельности кода!