Dnes si názorně předvedeme, co jsme si ukázali v předchozích lekcích, abychom mohli pokračovat dále ve věcech složitějších.
Doposud jsme si všechno vysvětlovali teoreticky. Teorie je věc sice sympatická, ale praxe je praxe. Hned z kraje si ukážeme jednu hodně používanou funkci, kterou budete používat k výpisu, tou funkcí je documet.write(). Do závorek patří obsah, který chcete vypsat, může to být: text, proměnná nebo i kus HTML kódu:
<script type="text/javascript" language="javascript">
document.write("Šikovná funkce"); //vypíše Šikovná funkce
text="Dobrý den";
document.write(text); //vypíše obsah proměnné text
document.write("<h1>Nadpis v JS <h1>");
// reaguje jako kdyby byl na stránce kód v HTML
</script>
Text a HTML kód je nutno psát do úvozovek, proměnnou bez. Tohle je, myslím, jasné. Problém ale nastane, pokud bude náš text nebo kód na více řádcích. JS je totiž citlivý na řádkování, a proto musíme text či kód na jednotlivých řádcích dát dokupy, a to pomocí znaménka +:
//Rozdělění dlouhého textu
document.write
(
"Tohle je strašně dlouhý text"+
"co se nevleze na jeden řádek"
);
//Pro přehlednost kódu je nutno řádkování
document.write
(
"<h1>Napdis</h1>"
+"<p>odstavec s textem</p>"
);
Daší věc, na kterou je třeba dát si pozor, jsou úvozovky použité třeba uvnitř kódu. Aby si prohlížeč nemyslel, že zde končí náš text, ale aby správně úvozovky vypsal, je třeba před ně dát zpětné lomítko \.
...
"<table border=\"1\">"
...
Teď nám tedy nic nebrání vypisovat data, jak je libo…
Daší probranou věcí jsou pole; když už umíme vypisovat, můžeme si vyzkoušet, jestli opravdu fungují. Vytvoříme si tedy pole skupiny, do kterého vložíme tři proměnné No name, Mňága a Žďorp, Offspring a postupně je necháme vypsat:
...
skupiny= new Array("No name","Mňága a Žďorp","Offspring");
document.write(skupiny[1]); // vypíše Mňága a Ždorp
...
No a nakonec si ještě předvedeme, jak vytvořit funkci a jak ji vůbec použít. Funkce je vámi nadefinovaný sled příkazů, které se provedou podle vaší pořeby, kupříkladu f-ce spočítá výsledek aritmetické operace a vypíše výsledek nebo třeba ověří správnost výsledku a popřípadě ohlásí chybu atd. Jak už jsem minule zmiňoval, máme dva druhy f-cí, jsou to f-ce bez argumentu a f-ce s argumentem, nyní si oba druhy předvedeme v akci:
<script type="text/javascript" language="javascript">
function vypis_modrou()//vytvoříme si fci vypis_modrou
{
text1="Tohle je fce ";
text2="bez argumentu";
document.write("<font color=\"blue\">"+text1+text2);
//funkce má za úkol vypsat text modře
};
vypis_modrou();// zavoláme funkci vypíše se modrý text
</script>
Jak vidíte, funkce bez argumetnu má jasný příkaz, který má splnit, v našem případě vypsat modře text. Co když ale chceme, aby se nám jednou text vypsal červeně a potom zlatě, určitě bychom mohli jako otroci bušit do klávesnice znovu a znovu f-ce jako v předcházejícím příkladě a u každé zěnit požadovanou barvu, ovšem právě pro tyto účely je tu f-ce s argumentem, která je flexibilní a „mění se“ podle potřeby:
<script type="text/javascript" language="javascript">
function vypis_barevne(barva)//vytvoříme fci vypis_barevne s argumentem barva
{
text1="Tohle je fce ";
text2="s argumentem";
document.write("<font color=\""+barva+"\">"+text1+text2+"</font>");
};//zde místo konkrétní barvy napíšeme náš argument
vypis_barevne("red");
//nyní zavoláme fci a argument bude kýžená barva, tedy red
vypis_barevne("gold");
// opět to samé s tím rozdílem že text bude zlatý
</script>
Jak vidíte, f-ce s argumentem je velice podobná f-ci bez argumentu, jenomže tato f-ce umí vypsat text jakoukoliv barvou. Argument je tedy v podstatě proměnná ve vaší funkci, kterou specifikujete až když funkci voláte.