Функции
Функциите в javascript са блокове от код, които първо се дефинират, а след това се изпълняват. Структурата на функциите е следната:
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.
Коментари