Domov Výpisy Premenné Dialógové okná Tlačidlá .Podmienky a vetvenie Cyklus Funkcie Objekty Objekt Array Objekty tvorené užívateľom Objekt Date Objekt Math Formuláre Objekty formulárov Ďalšie objekty formulára Obrázky Obrázky-2 Stavový riadok Popis v stavovom riadku Animovaný text Hodiny Skladačka Linky | |
7.Funkcie
Veľmi často v programovaní používame funkcie jednak na sprehľadnenie tvorby programu, ale najmä preto, aby sme už vytvorené skripty mohli ďalej používať v rôznych obmenách. Preto sa snažíme vytvoriť funkcie čo možno najvšeobecnejšie.
syntax:
function meno_funkcie(parameter1, parameter2,...) { TELO_FUNKCIE }
|
Príklad:
Vytvorte funkciu na výpočet obsahu obdĺžnika.
|
<html>
<head>
<script language="Javascript">
function obdlznik(dlzka,sirka){
plocha=dlzka*sirka;
return(plocha)
}
</script>
</head>
<body>
<script language="Javascript">
a=prompt("Zadajte dĺžku obdĺžnika");
b=prompt("Zadajte šírku obdĺžnika");
plocha=obdlznik(a,b);
document.write("Plocha obdĺžnika je "+obdlznik(a,b));
</script>
</body>
</html>
|
Riešenie:
Vytvorili sme funkciu s názvom obdlznik s parametrami sirka a vyska, pričom obsah sa vloží do premennej plocha. Odovzdanie hodnoty
zabezpečíme slovom return(plocha)
|
Príklad:
Napíšte funkciu na zistenie, či vložený rok bol priestupný.
|
<html>
<head>
<script language="javascript">
function Priestupnyrok(rok)
{
x=rok%4;
if(x==0)
alert(rok+" bol priestupny")
else
alert(rok+" nebol priestupnz");
}
</script>
</head>
<body>
<form name="formular">
<p><input type="text" name="rok" value="Zadaj
rok:" size="20"> <input type="button" value="Prepočet"
name="B3" onclick="Priestupnyrok(document.formular.rok.value)"></p>
</form>
</body>
</html>
|
Riešenie:
V hlavnej stránke vytvoríme textový formulár s vložením roku. Pridáme tlačidlo s akciou onClick, ktorá po stlačení vyvolá funkciu s názvom priestupnyrok a parametrom rok.
Do premennej x vložíme zvyšok po delení roka číslom 4. Ak tento zvyšok je nula, t.j. rok je deliteľný 4, otvorí dialógové okno s hlásením, či bol rok priestupný alebo nie.
Poznámka: Ak je funkcia bez parametrov použijeme syntax:
function MENO() {
TELO_FUNKCIE
}
|
Príklad:
Napíšte funkciu na výpočet n!
|
<html>
<head>
<script language="Javascript">
function fakt(n) {
if (n != 1){
return (n*fakt(n-1));
}
else {
return 1;
}
}
function zadajcislo() {
var cislo;
cislo=prompt("Zadajte číslo","");
alert(cislo+"! = "+fakt(cislo));
}
</script>
</head>
<body>
<form>
<input type="button" value=" Faktoriál čísla ..." onclick="zadajcislo()">
</form>
</body>
</html>
|
Riešenie:
Na výpočet faktoriálu môžeme použiť rekurziu, t.j. funkciu, ktorá volá samu seba, pretože n!=n.(n-1)!, pričom 1!=1.
V stránke vytvoríme formulár s tlačidlom, ktoré vyvolá funkciu zadajcislo() - táto má za úlohu načítať hodnotu čísla, ktorého faktoriál chceme vypočítať a vloží ho do premennej cislo. Potom vyvolá rekurzívnu funkciu fakt s
parametrom cislo a táto odovzdá vypočítanú hodnotu.
|
Vyskúšajte sa!
Úlohy:
- Napíšte funkciu na zakresľovanie 10 hviezdičiek do dokumentu po
stlačení tlačidla
- Napíšte funkciu na zakreslenie toľkých znakov "*", aké
dlhé bolo zadané heslo
Riešenie |
späť |