* Функции в JavaScript
Публикувано на 08 септември 2009 в раздел ХHTML.
Използването на функции в JavaScript е изключително опростено. За това силно спомага автоматичното разпознаване на типовете данни. Единственото за което трябва да следите за съответствие е броя на входните параметри. Обикновено (но не задължително) дефинираме функциите в заглавната част на html документа (head).
Пример: функция, която отпечатва сбора на две числа подадени като параметър:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="bg">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>JavaScript</title>
<script type="text/javascript">
function sum(x,y){
document.write((x+y));
}
</script>
</head>
<body>
<script type="text/javascript">
var a = 5;
var b = 6;
sum(a, b);
</script>
</body>
</html>
Когато се налага функцията да върне изходна стойност, то се използва оператор "return". Ето същия пример реализиран чрез връщане на стойност от функцията към извикващия скрипт:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="bg">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>JavaScript</title>
<script type="text/javascript">
function sum(x,y){
return((x+y));
}
</script>
</head>
<body>
<script type="text/javascript">
var a = 5;
var b = 6;
document.write(sum(a, b));
</script>
</body>
</html>
Всички променливи, които се декларират вътре в тялото на функция са видими и валидни само и единствено вътре в тялото на функцията. Всички променливи дефинирани извън тялото на функциите се наричат "глобални променливи" и са видими за всички функции. Накрая - не е проблем една функция да извика друга функция.
Съществуват редица готови (предефинирани) функции. Сега ще изброим част от тях:
- escape(<низ>) - превръща ASCII символен низ в ISO-Latin-1 (удобен за отпечатване на екран текст с латински букви);
- unescape(<низ>) - обратно превръща ISO-Latin-1 текст в ASCII символен низ;
- eval(<низ>) - функция, която превръща символен низ в число. Например eval("12/3") дава резултат числото 4. Не връща нищо ако в низа има буква или невалиден за математическа операция символ;
- parseInt(<низ>) - намира първото число в низа като спира при намиране на буква. Например parseInt("123abc456") ще върне резултат 123. Ако не се намери число се връща резултат 0;
- parseFloat(<низ>) - намира първото число с плаваща запетая. Например parseFloat("123.456abc789.10") ще върне резултат 123.456. Ако не се намери число се връща резултат 0;
- isNaN(<низ>) - проверява дали символен низ НЕ е число. Например isNaN("123") връща false, а isNaN("abv") връща true;
- alert(<низ>) - показва диалогов прозорец с текст подадения низ и бутон "OK";
- confirm(<низ>) - показва диалогов прозорец с текст подадения низ и два бутона - OK и Cancel. Ако потребителя натисне OK, то върнатия резултат е "true", ако натисне Cancel върнатия резултат е false;
- prompt(<низ>) - показва диалогов прозорец с текст подадения низ, текстово поле в което потребителя може да пише и два бутона - OK и Cancel. При натискане на OK въведения в текстовото поле текст се връща като резултат от функцията. При натискане на Cancel се връща резултат null.
Пример: Извиква диалогов прозорез, в който иска да си въведете името и след това ви поздравява
<script type="text/javascript">
var name = prompt("Въведете името си");
document.write("Здравей "+name);
</script>
Добави коментар