Функции javascript как правильно записать, как работают функции
Как работают функции в javascript рассмотрим на простом собачем примере:
function bark (name, weight) {//в скобках указаны параметры
if (weight > 20) {
alert (name + " speak GAAF GAAF");
}else{
alert (name + " speak gaaf gaaf");
}
}
bark ("Bobik", 25); // в () указаны аргументы функции
bark ("Shavka", 15);
Функции javascript позволяют взять фрагмент кода, присвоить ему имя, а затем ссылаться на его имя везде, где он понадобится. Судя по описанию — это то, что нам нужно.
Функция определяют ключевым словом function, затем идет имя функции bark, а потом в скобках указыватся значения (параметры) функции. В квадратных скобках пишется тело функции. Этот код в теле будет выполняться только при вызове функции. Когда браузер видит код и функцию записанную в начале кода, он пропустит выполнения этой функции, пока она не будет вызвана где-то в коде.
Когда мы вызываем функцию мы отправляем ей аргументы, а сама функция получив их называет их параметрами, которые использует потом в теле.
В данном примере мы отправили Бобик и 25, которые внутри функции записались в переменные name и weight.
В javascript используется передача по значению, то есть посредством копирования!
Переменные объявленые внутри функции видны только в самой функции. Переменные объявленные за пределами функции видны во всем коде.
Что такое аргументы/параметры? Все это выглядит довольно запутанно.
- Каждый параметр — это своего рода переменная в теле функции. При вызове функции каждое передаваемое значение присваивается соответствующему параметру.
Тогда что такое аргументы?
- Просто другое название значений, передаваемых функции при вызове.
Определяя функцию, вы определяете ее с одним или несколькими параметрами.
При вызове функции вы передаете ей аргументы.
Что можно передать функции?
В аргументе можно передать практически любое значение javascript: строку, число, булевское значение:
var student = "krissy";
var year = 1991;
var GPA = 381/100;
var status = "existinguser";
var isNewUser = (status == "newuser");
saveMyProfile(student, year, GPA, isNewUser);
Последнюю строку можно записать и так:
saveMyProfile(student, year, 381/100, status == "newuser");
В функцию передадится результат этого булевоского выражения status == "newuser" FALSE, так как в status лежит existinguser, а он не то же самое, что newuser.
Как возвратить значение вычеслонное функцией?
Для этого вставьте в конце вычислений return и название переменной внутри функции которую хотите получить или присвоить другой переменной.
Функция без команды return возвращает undefined
Оставить свой ответ: