Функции. Функция – это фрагмент исполняемого кода, который определен в JavaScript-программе или заранее предопределен в реализации JavaScript
Функция – это фрагмент исполняемого кода, который определен в JavaScript-программе или заранее предопределен в реализации JavaScript. Хотя функция определяется единожды, JavaScript-программа может исполнять или вызывать ее сколько угодно раз. Функции могут передаваться аргументы, или параметры, определяющие значение или значения, для которых она должна выполнять вычисления; также функция может возвращать значение, представляющее собой результат этих вычислений.
Взаимодействие функции с внешней программой, из которой она была вызвана, происходит путем передачи функции параметров и приема от нее результата вычислений. Впрочем, функция в JavaScript может и не требовать параметров, а также ничего не возвращать.
В JavaScript есть встроенные функции, которые можно использовать в программах, но код которых нельзя редактировать или посмотреть. Все, что мы можем узнать о них, — это описание их действия, параметров и возвращаемого значения.
Кроме использования встроенных функций вы можете создать свои собственные, так называемые пользовательские функции. Часто используемые фрагменты программного кода целесообразно оформлять в виде функций. Такой фрагмент кода заключается в фигурные скобки, а перед ним пишется ключевое слово function, за которым следуют круглые скобки, обрамляющие список параметров.
имя_функции (параметры)
Например:
function square(x) // Функция называется square. Она принимает один аргумент, x.
{ // Здесь начинается тело функции.
return x*x; // Функция возводит свой аргумент в квадрат и возвращает
// полученное значение.
} // Здесь функция заканчивается.
Если требуются параметры, то они указываются в круглых скобках через запятую. Функция может и не иметь параметров. В этом случае в круглых скобках ничего не указывается. Более подробно пользовательские функции будут рассмотрены позднее.
Определив функцию, можно вызывать ее, указав имя, за которым следует заключенный в скобки список необязательных аргументов, разделенных запятыми. Следующие строки представляют собой вызовы функций:
y = Math.sin(x);
y = square(x);
d = compute_distance(x1, y1, z1, x2, y2, z2);
move();
Важной чертой JavaScript является то, что функции представляют собой значения, которыми можно манипулировать в JavaScript-коде. Во многих языках, в том числе в Java, функции – это всего лишь синтаксические элементы языка, но не тип данных: их можно определять и вызывать. То обстоятельство, что функции в JavaScript представляют собой настоящие значения, придает языку большую гибкость. Это означает, что функции могут храниться в переменных, массивах и объектах, а также передаваться в качестве аргументов другим функциям. Очень часто это бывает очень удобно.
Поскольку функции представляют собой значения, такие же, как числа и строки, они могут присваиваться свойствам объектов. Когда функция присваивается свойству объекта, она часто называется методом этого объекта.
Реализации JavaScript предоставляют много предопределенных или встроенных функций, таких как функция Math.sin(), возвращающая синус угла.
Рассмотрим некоторые встроенные функции:
eval(строка) — вычисляет выражение в указанной строке; выражение должно быть написано на языке JavaScript (не содержит тегов HTML).
Пример
var у = 5 // значение у равно 5
var х = "if(y<10) {у = у+2}" // значение х равно строке символов
eval(x) // значение у равно 7
Приведем текст соответствующего HTML-кода со сценарием, содержащим функцию eval():
<html> <body>
<textarea id = "mycode” rows=10 cols = 60> </ textarea >
< textarea id = "myrezult" rows = 3 cols = 60> </ textarea >
<p> <button onclick = "document.all.myrezult.value=eval(mycode.value)"> Выполнить </ button >
< button onclick="document.all.mycode.value=''; document.all.myrezult.value=''">
Очистить</ button >
</p> </body></html>
escape(строка) — возвращает строку в виде %ХХ, где XX — ASCII-код указанного символа; такую строку еще называют escape-последовательностью.
unescape(строка) — осуществляет обратное преобразование.
При взаимодействии браузеров и серверов протоколы передачи данных позволяют передавать не все символы в их естественном виде. Для передачи остальных символов используются их шестнадцатеричные ASCII-коды, перед которыми указывается символ «%».
Например, пробел представляется в escape-последовательности как %20.
escape("How do you do") // значение равно "How%20do%20you%20do«
Пример:
<html>
<body>
<script>
document.write(escape("How do you do")) ;
document.write(unescape("How%20do%20you%20do"));
</script>
</body>
</html>
Дата добавления: 2015-08-01; просмотров: 698;