* Функции в 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>
Добави коментар