Späť Domov Ďalej

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!

 1. Čo spôsobí nasledujúca funkcia?

function vypocet(){

p=5;

while (p<10){

document.write("Ahoj!");

p+=2;

}

}


2. Aký výpis sa objaví po vykonaní nasledujúceho programu?

p=0;

function vypocet(){

for (i=0;i<10;i++){

if (p>3) p=0;

p++

}

document.write(p);

}


3.Aký bude výpis nasledujúcej funkcie ?

function vypocet(){

a=5; b=10;

a+=b;

b=a-b;

a-=b;

alert("a="+a+" b="+b);

}


 

Úlohy:

  1. Napíšte funkciu na zakresľovanie 10 hviezdičiek do dokumentu po stlačení tlačidla
  2. Napíšte funkciu na zakreslenie toľkých znakov "*", aké dlhé bolo zadané heslo

Riešenie

späť


Posledná aktualizácia: 12 máj, 2003

Webmaster: Mgr.Anna Peťovská