function - garevna/js-course GitHub Wiki
:mortar_board: Функции
✅ Объявление функции
✅ Параметры и аргументы функции
✅ Вызов функции
:mortar_board: function declaration
Объявление функции начинается с ключевого слова function, после которого ( через пробел ) следует имя функции ( правила те же, что для имен переменных )
:warning: После имени функции обязательно следуют круглые скобки
В круглых скобках могут быть ( а могут и не быть ) формальные параметры функции
**Формальные параметры функции** - это имена переменных,
которые будут использованы внутри функции
На момент объявления функции они не имеют значений
Значения формальных параметров будут установлены
в момент вызова функции
:warning: Тело функции заключается в фигурные скобки
Внутри фигурных скобок размещается код функции
function grow ( param1, param2, ... ) {
...код...
}
здесь param1, param2, и т.д. - это формальные параметры функции
:mortar_board: function expression
Где бы ни было объявление функции ( function declaration ), функция будет доступна в любом месте кода:
console.log ( func )
func( "Hello" )
var func = function ( arg ) {
console.log ( arg )
}
Выражение вычисляется в том месте, где оно находится
При использовании выражений ( function expression ) функция будет доступна только после того, как будут выполнены строки кода, в котором она объявляется:
console.log ( func ) // undefined
var func = function ( arg ) {
...
}
:coffee: 1
console.log ( repeat )
console.log ( say )
function repeat ( str ) {
console.log ( str.repeat(5) )
}
var say = function ( message ) {
console.log ( message )
}
:mortar_board: Аргументы функции
При вызове функции ей будут переданы аргументы - входные данные
✅ Аргументы функции - это конкретные значения параметров,
которые указываются в момент вызова функции
Если функции будет передано аргументов больше,
чем указано параметров при объявлении функции,
то лишние аргументы будут отброшены
Если функции будет передано аргументов меньше,
чем указано параметров при объявлении функции,
то недостающие аргументы получат значение undefined,
что может привести к ошибке в процессе выполнения кода
:coffee: 2
Объявление функции:
function say ( x, y, z ) {
console.log ( x + y + z )
}
Вызов функции с передачей ей аргументов:
var name = "Иван"
say ( "Привет, ", name, "!" )
Результат в консоли
Привет, Иван!
var a = 2,
b = 8,
q = say ( a, b, "$" )
Результат в консоли
10$
:mortar_board: return
Оператор return завершает выполнение функции
Функция может возвращать значения с помощью оператора return
:coffee: 3
Объявление функции:
function multiply ( x, y ) {
return x * y * 10
}
Вызов функции с передачей ей аргументов:
var z = multiply ( 5, 2 )
// переменной z будет присвоено значение
// 5 * 2 * 10 = 100
var a = 2, b = 8, w = multiply ( a, b )
// переменной w будет присвоено значение
// 2 * 8 * 10 = 160
| :briefcase: Тесты | :link: w3schools | :link: MDN |
|---|