//
Функция - это определенное кол-во
инструкций или кусок кода, который
определяется один раз и может быть
вызвана любое количество раз.
/*
function
выражение(аргументы) {
инструкции
return
выражение
}
Для
вызова функции используется синтаксис:
выражение(аргументы)
*/
//
Объявим функцию, которая будет
конкатенировать 2 строки
//
Это инструкция объявления функции
function
greet(name) {
return
"Hello " + name;
}
console.log(greet("Sorax"));
// Hello Sorax
console.log(greet("Sorax").toUpperCase());
// зная, что функция возвращет строку,
мы можем вызывать методы объекта string
//
Если функция ничего не возвращает, то
она возвращает undefined
//
Функцию также можно определить, если
присвоить к-л переменной выражение
определения функции
var
greet = function greet(name) {
return
"Hello " + name;
}
//
Можно пропускать имя функции. Это
анониманая функция.
//
Посклльку функции являются объектами,
то целесообразно объявлять их так.
var
greet = function(name) {
return
"Hello " + name;
}; //
здесь д.б. ; после фигурной скобки
//
Если мы передаем функции меньше, чем
ожидаем, то мы не получаем ошибки.
//
Всем неинициализированным аргументам
присваивается ззначение undefined.
console.log(greet());
// Hello undefined
console.log(greet("Sorax",
34, 23, 26)); // Hello Sorax
//
Чтобы получить все переданные аргументы
внутри функции, мы можем использовать
ОБЪЕКТ arguments
//
arguments ведет себя, как массив. Он выводится
в консоль, как массив.
//
Можно обращаться к отдельным аргументам
при помощи индексов: arguments[2]
var
greet = function(name) {
console.log(arguments);
return
"Hello " + name;
};
console.log(greet("Sorax",
34, 23, 26)); // Arguments { 0: "Sorax", 1: 34, 2: 23, 3:
26, ещё 2… }
//
Полезное свойство этого объекта длина
.length
var
greet = function(name) {
console.log(arguments.length);
return
"Hello " + name;
};
console.log(greet("Sorax",
34, 23, 26)); // 4
// Мы
можем передавать функции другие функции
в качестве аргументов и возвращат
функции из функций.
var
func = function(callback) {
var
name = "Sorax";
callback(name);
};
func(function(n)
{
console.log("Hello
" + n);
});
// Hello Sorax
//
Также функция м.б возвращаемым значением.
var
func = function() {
return
function() {
console.log("Hi");
}
};
func()();
// В точку вызова возвращается анонимная
функция.
//
Функция может быть вызвана сразу после
определения, если мы используем выражение
определения.
// Мы
присваиваем переменной значение функции.
//
Для большей ясности выражение берется
в круглые скобки.
var
greeting = (function(name) {
return
"Hello " + name;
}("Sorax"));
console.log(greeting);
// Hello Sorax
//
Функция, которая вызывается сразу после
определения называется анонимной
самовызывающейся функцией.
Комментариев нет:
Отправить комментарий