Клиентский JavaScript 1.3 Руководство

Определение функций


Определение функции состоит из ключевого слова function и:

  • имени функции
  • списка аргументов, заключённых в скобки и разделённых запятыми

  • операторов JavaScript, определяющих функцию, заключённых в фигурные скобки { }. Операторы функции могут содержать вызовы других функций, определённых в текущем приложении.

Вы должны определять все Ваши функции в HEAD/шапке страницы, чтобы при её загрузке пользователем функции загружались в первую очередь. Иначе пользователь может выполнить действие, когда страница ещё загружается, и включить обработчик и вызвать функцию, которая ещё не определена, что приведёт к возникновению ошибки.

Например, следующий код определяет простую функцию square:

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

Функция square принимает один аргумент number. Эта функция состоит из одного оператора, указывающего возвращаемое значение - аргумент функции, умноженный сам на себя. Оператор return специфицирует значение, возвращаемое функцией.

return number * number

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

function myFunc(theObject) {
   theObject.make="Toyota"
}


mycar = {make:"Honda", model:"Accord", year:1998}
x=mycar.make     // возвращает Honda
myFunc(mycar)    // передаёт объект mycar функции
y=mycar.make     // возвращает Toyota (prop было изменено функцией)

Помимо описанного здесь определения функции, Вы можете также определять объекты Function, как показано в разделе "Объект Function".

Метод это функция, ассоциированная с объектом. Вы может узнать больше об объектах и методах в Главе 7 "Работа с Объектами".



Содержание раздела