Структурата на функциите е следната :
function name() {
оператори
}
..където name е името на функцията, последвано
от отваряща и затваряща кръгли скоби, които може да съдържат някакви
аргументи, но може и да са празни, и най-накрая тялото на функцията заградено
с фигурни скоби.
Това е начина да се дефинира функцията
и това става обикновено в главата (HEAD) на HTML документа. Самото извикване
на функцията става в тялото (BODY) на HTML документа чрез изписване на името
и, както и аргументите, ако има такива. Вижте един пример за функция без
аргументи :
<HTML
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function firstName() {
name=prompt("Как се казвате ?")
alert("Здравейте"+name)
}
</SCRIPT>
<BODY>
<SCRIPT
LANGUAGE="Javascript">
firstName()
</SCRIPT>
</BODY>
</HTML>
В главата на документа се дефинира функция с име firstName без аргументи. Самата функция изпълнява следното: на променливата name се присвоява стойноста, която ще напишете в подканващия прозорец "Как се казвате ?". След това в alert прозорец ще се изпише съобщението "Здравейте " + името което сте въвели. Веднъж дефинирана функцията може да се извиква навсякъде в тялото на HTML документа само чрез името и. Ето ТУК можете да видите как работи функцията.
Сега нека направим една функция с аргументи.
<HTML
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function fontSize(num) {
document.write("<font
size="+num+">")
document.write(num)
document.write("</font>")
}
</SCRIPT>
<BODY>
<SCRIPT
LANGUAGE="Javascript">
for(num=1;num<=7;num++)
{
fontSize(num)
}
</SCRIPT>
</BODY>
</HTML>
Тук имаме функция fontSize с един аргумент с име num. Действието на функцията е следното. Изписва HTML тага <FONT SIZE=..... след това слага стойноста на променливата num, и накрая затваря тага >. На следващия ред се изписва самата променлива num. И най-накрая се изкарва затварящия таг </FONT>. Не забравяйте че когато пишете HTML тагове с document.write те не се изписват на екрана, а се изпълняват като истински HTML тагове. Самата функция сама по себе си е безполезна, ако не дадем някакви стойности на променливата num. Това го правим с друг скрипт в тялото на документа. В него използваме цикъл с който задаваме стойноста на num на единица. След това се проверява дали num не е по малко или равно на 7, и ако е така стойноста се увеличава с едно. В тялото на цикъла се извиква функцията fontSize. Нека проследим стъпка по стъпка изпълнението на функцията :
Първо на num се задава стойност 1. След това се извиква
функцията с параметър 1 (fontSize(num)). Самата
функция изпълнява HTML тага : <font size=1> 1 </font>. Така на екрана се изписва цифрата 1
(стойноста на num в момента на изпълнението на
функцията) с големина на шрифта 1 (font
size=1).
При следващото завъртане на цикъла
стойноста на num ще бъде вече 2 (num++) и функцията ще изпише цифрата 2 с големина на
шрифта 2.
........и така до num=7 където цифрата седем ще се изпише с най-големия
размер на шрифта - 7. Вижте ТУК как работи
този скрипт.
Можете да създавате функции с повече от един аргумент. В такъв случай аргументите се разделят със запетаи :
function argument(arg1, arg2, arg3)
Когато създавате такава функция, трябва винаги когато я извиквате да
задавате същия брой аргументи, както когато сте я
дефинирали.
Правилата за създаване на имена на функциите
са същите като при променливите. Хубаво е ако името на функцията съдържа
повече от една дума, първата дума да се изписва с малки букви, а всички
останали да започват с главна буква, например fontSize.