Декларация функции и Вызов функции

Автор: Aport Вторник, Январь 27th, 2015 Нет комментариев

Рубрика: Разное

Декларация функции

Функции являются одним из основных механизмов языка JavaScript; они охватывают
ту область, которая в других языках программирования реализуется подпрограммами,
процедурами и функциями. Функция в JavaScript — это набор операторов, выполняющих
определенную задачу.

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

function имя(аргументы?) {
операторы
}

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

Рассмотрим следующий пример:

function cube(number) {
return number * number * number;
}

Эта функция называется cube и имеет один формальный аргумент number. При
вызове этой функции вместо формального аргумента подставляется его фактическое
значение, функция выполняет возведение этого значения в куб и возвращает полученное
число оператором return.

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

Вызов функции

Важно понимать, что появление декларации функции в тексте сценария не означает
ее немедленного выполнения; тело функции будет выполняться только тогда, когда
какой-либо оператор будет содержать вызов этой функции. Например, функция из
предыдущего примера может быть вызвана так:

var x = cube(5);

В результате переменная x получит значение 125.

В JavaScript действуют следующие правила передачи аргументов функции:

  1. Аргументы примитивных типов передаются функции по значению. Иными словами,
    формальным аргументам присваиваются значения фактических аргументов на момент
    вызова и, если даже операторы в теле функции изменят значение какого-либо
    аргумента, то это изменение не коснется переменной, чье значение передавалось
    в качестве аргумента.
  2. Объекты (и встроенные, и определенные пользователем) передаются по ссылке.
    Это означает, что все изменения свойств объекта в теле функции производятся
    непосредственно в самом объекте, а не в его локальной копии и, следовательно,
    сохраняются после возврата из функции. Например,

function setBrowser(browser) {
browser.name = "Internet
Explorer";
browser.version = "5.5";
}

var myBrowser = {name:"Netscape Navigator", version:"4.7"};
var
x = myBrowser.name; // x равно "Netscape Navigator"
setBrowser(myBrowser);  //
объект myBrowser передается функции
var y = myBrowser.name; // y равно
"Internet Explorer"

Автор: Лукач Юрий Саулович

 

Источник: yapro.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты