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

Автор: Aport Понедельник, Февраль 2nd, 2015 Нет комментариев

Рубрика: Уроки JavaScript

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

Функции являются одним из основных механизмов языка 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

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

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

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