2019-06-05 19:13:11
Основы программирования. Часть вторая.
Функции. Функции — это мини-программы в вашем коде, которые имеют доступ как к переменным программы (если они находятся в нужной видимости), так и к своим собственным (локальным).
То есть, вы можете завернуть какой-то код в вашей программе в функцию, и вызвать ее когда вам будет нужно. Для чего это нужно? Обычно, чтобы один и тот же участок кода можно было вызвать несколько раз, но с небольшими изменениями (значениями переменных, например).
Рассмотрим пример такой функции:
function _name (){
return “Death”;
}
Здесь слово function означает, что вы хотите создать функцию. Далее следует имя, в наше случае “_name”. После этого идут скобки, в которых перечисляются локальные переменные, которые вы хотите использовать внутри функции. В нашем примере они пока что не нужны, поэтому оставляем содержимое скобок пустым.
Далее начинается самая важная часть функции: код, который будет выполняться при вызове функции, заключенный в фигурные скобки.
В нашем примере есть только одна строчка: return “Death”;
Что она возвращает? Соответственно, строку со значением Death. Слово return означает, что после него вы хотите что-то вернуть как результат выполнения функции и завершить ее выполнение. Да, если после строчки с командой return есть еще какой-то код внутри фигурных скобок функции, этот код не будет выполнен, так как команда return завершило выполнение функции.
Как применять функции?
Либо прямо присваивать переменной:
var _a = _name();
Как видно из примера, скобки по-прежнему нужны, даже если в них пусто. Это делается для того, чтобы интерпретатор (то, что выполняет код javascript) понял, что вы хотите вызвать функцию, а не присвоить переменной значение функции. В нашем примере _a имеет значение “Death”. Однако, если бы мы использовали вызов функции без скобок: var _a = _name;
В таком случае, _a переменная превратилась бы в функцию, которую можно выполнять абсолютно так же:
var _b = _a(); // (не забываем про скобки)
Кстати.
Два символа / означают комментарий после них. Все, что находится после // не будет выполнено (все, что находится позже // и на той же строке).
Если же вы хотите создать большой комментарий на несколько строк, начните с /* тут ваш комментарий, и завершите его с помощью */
/* рабоч
ее коммен
тирование */
// комментарий
А тут уже код
Еще: return может не иметь возвращаемого значения. Вы можете вызвать просто return; и все, если нужная вам задача выполняется функцией (например, меняет какую-то глобальную переменную). Но всегда завершайте функцию через какой-либо return, иначе случится утечка памяти, и программа начнет зависать.
Теперь о переменных в скобках при вызове функции. Все просто. При создании функции, мы перечисляем переменные, которые хотим в нее вводить.
function _test (_name, _number){
return _name+” имеет яблок: “+_number;
}
При вызове, мы должны указать значения этим переменным.
var _a = _test(‘Егор’, 6);
Функция возвращает нам объединение 3 значений в одну строку:
Егор + имеет яблок: + 6
Таким образом, переменная _a примет значение «Егор имеет яблок: 6»
Функцию можно и просто вызвать без создания переменных:
_test(‘Егор’, 6);
Однако, поскольку функция лишь возвращает значение, вы ничего не увидите по результату выполнения функции. Чтобы что-то увидеть в таком случае, функцию следует переделать, например, вот так:
//пример 1. Всплывающее окно
function _test (_name, _number){
var _result = _name+” имеет яблок: “+_number;
alert(_result);
return _result;
}
//пример 2. Вывод в консоль
function _test (_name, _number){
var _result = _name+” имеет яблок: “+_number;
console.log(_result);
return _result;
}
В javascript, как и во многих других языках программирования, есть понятие локальные и глобальные переменные. Советую отдельно прочитать про области видимости переменных, потому что это может быть важно.
113 viewsedited 16:13