Помогни ни да направим Uroci.net по - богат! Добави урок

Функции в javascript

fix3d   трудност:    видян: 12577

Структурата на функциите е следната :

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.

 



Коментари (4)

charmed на 17.08 2006 в 14:08ч.
Имате грешки. Тагът html. Трябва да е , а не alert("Здравейте " name) не alert("Здравейте" name) понеже иначе излиза така: Здравейтеимето, а не така: Здравейте името. Примерите който са дадени с линк не съществуван иначе урока е много полезен. ;)
charmed на 17.08 2006 в 14:13ч.
Понеже нещо коментара ми се повреди искам да го напиша пак. Значи тагът html трябва да е в такима преди
(бе интервали) и да е: (Пак без интервалите)
charmed на 21.08 2006 в 12:10ч.
Моля оправете дефекта. Не може да се пишат кодове тук, а вече 2 пъти се опитах да обясня някой грешки в урока. тагът html трябва да завършва с > както и липсва затварящият таг head който трябва да е преди тага bady.
CMAXHAT на 01.10 2006 в 12:48ч.
charmed няма грешка ве, ние знаме грешките.
Нямаме нужда от твоите грешки!

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com