C, PHP, VB, .NET

Дневникът на Филип Петров


* Функции в 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>

Всички променливи, които се декларират вътре в тялото на функция са видими и валидни само и единствено вътре в тялото на функцията. Всички променливи дефинирани извън тялото на функциите се наричат „глобални променливи“ и са видими за всички функции. Накрая – не е проблем една функция да извика друга функция.

Съществуват редица готови (предефинирани) функции. Сега ще изброим част от тях:

  1. escape(<низ>) – превръща ASCII символен низ в ISO-Latin-1 (удобен за отпечатване на екран текст с латински букви);
  2. unescape(<низ>) – обратно превръща ISO-Latin-1 текст в ASCII символен низ;
  3. eval(<низ>) – функция, която превръща символен низ в число. Например eval(„12/3“) дава резултат числото 4. Не връща нищо ако в низа има буква или невалиден за математическа операция символ;
  4. parseInt(<низ>) – намира първото число в низа като спира при намиране на буква. Например parseInt(„123abc456“) ще върне резултат 123. Ако не се намери число се връща резултат 0;
  5. parseFloat(<низ>) – намира първото число с плаваща запетая. Например parseFloat(„123.456abc789.10“) ще върне резултат 123.456. Ако не се намери число се връща резултат 0;
  6. isNaN(<низ>) – проверява дали символен низ НЕ е число. Например isNaN(„123“) връща false, а isNaN(„abv“) връща true;
  7. alert(<низ>) – показва диалогов прозорец с текст подадения низ и бутон „OK“;
  8. confirm(<низ>) – показва диалогов прозорец с текст подадения низ и два бутона – OK и Cancel. Ако потребителя натисне OK, то върнатия резултат е „true“, ако натисне Cancel върнатия резултат е false;
  9. prompt(<низ>) – показва диалогов прозорец с текст подадения низ, текстово поле в което потребителя може да пише и два бутона – OK и Cancel. При натискане на OK въведения в текстовото поле текст се връща като резултат от функцията. При натискане на Cancel се връща резултат null.

Пример: Извиква диалогов прозорез, в който иска да си въведете името и след това ви поздравява

<script type="text/javascript">
   var name = prompt("Въведете името си");
   document.write("Здравей "+name);
</script>

 



Добави коментар

Адресът на електронната поща няма да се публикува


*