Proměnná nemá udaný typ, proto do ní lze vkládat jakékoliv údaje.
Lokální a globální proměnné
Globální proměnné jsou proměnné definované v celém programu - lze je použít kdekoliv.
Lokální proměnné jsou definovány uvnitř funkcí, většinou jako pomocné proměnné. Funkce s nimi může pracovat, ale po skončení
funkce jsou pro zbytek programu neznámé a tedy pokusem o přiřazení do této proměnné nastane chyba.
Zpět na menu:
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zpět na menu:
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pokud je výraz pravdivý nabude proměnná hodnotu h1, jinak h2
Podmínka if...else
if (výraz) proveď A
else proveď B
pomocí závorek {} lze ohraničit posloupnosti příkazů jak za if, tak za else
if (vyraz) {
A
B
C
}
else
{
E
F
}
Switch
Switch (proměnná)
{
case h1:proved A;
break;
case h2:proved B;
break;
default:proved X;
}
Pomocí case provádí příkazy na základě možných hodnot proměnné. Break za každým příkazem slouží k přeskočení dalších příkazů.
Jinak by se postupně vykonávaly všechny příkazy.
Default slouží pro případ, že proměnná nenabývá žádné z daných hodnot.
Zpět na menu
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zpět na menu
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Objekty jsou hiearchicky uspořádány. Jejich struktura se zve objektový model dokumentu (DOM)
Struktura objektů v javaScriptu __________________________________
Window
Navigator
Date
Math
String
|
|
History Location Document Frames
Plugin
|
Form Image Images Link
|
Button Checkbox Hidden Password Radio Reset Select Submit Text Textarea
Tato hiearchir má velký význam při zápisu vlastnosti či metody některého objektu musíme uvést
všechny nadřazené objekty.
Např.: vybrano=window.document.form.checkbox.checked
Vyjímku tvoří všechny objekty pod objektem WINDOW, kdy objekt WINDOW LZE VYPUSTIT :)
Další pomůcku tvoří příkaz WITH, který zrychluje práci s objekty
Syntaxe:
with (objekt) {
vlastnosti nebo metody
}
Např.:
with (document.form) {
reset();
checkbox.click();
}
Seznam objektů v JavaScriptu ______________________________________
Objekt
Popis
Html ekvivalence
anchor
Ukotvení: řetězec obsahijící hypertextový odkaz v HTML dokumentu
Objekt, který představuje okno webového prohlížeče
Zpět na menu
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zpět na menu
------------------------------------------------------------------------------------------------------------------------------------------------------------------
URL dokumentu, ze kterého jsme se dostali na aktuální stránku
styleSheet[]
pole kaskádových stylů
title
titulek dokumentu
URL
URL aktuálního dokumentu
URLUnencoded
dekódované URL aktuálního dokumentu
vlinkColor
barva navštíveného odkazu v 16
Metoda
Popis
close()
uzavře výstup do dokumentu
open()
otevře vstup do dokumentu
write()
zapíše data do dokumentu
writeln()
po zápisu odřádkuje (nemusí funkgovat správně - lépe <BR> nebo \n)
getElementById(ID)
vstupní hodnota elementu je ID, vrací odkaz na identifikovaný objekt tohoto elementu v DOM.
viz.Příklady
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
slouží k přechodu o x navštívených stránek vpřed, pro x>0 nebo zpět, pro x<0
metoda back()
přechod na předchozí URL v historii
metoda forward()
přechod na následující URL v historii
Zpět na menu
------------------------------------------------------------------------------------------------------------------------------------------------------------------
řetězec začínající #, specifikuje název kotvy v URL
host
řetězec obsahující název hostitele a portu URL
hostname
řetězec obsahující název hostitele URL
href
řetězec obsajhující URL adresu
pathname
řetězec obsahující část URL specifikující cestu
port
řetězec obsahující čast URL - komunikační port
protocol
řetězec obsahující protokolovou část URL
search
řetězec začínající ?, specifikující dotazovanou část URL
Zpět na menu
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
přidá prvky jednoho pole do druhého-spojování polí:polex=pole1.concat(pole2,pole3...);
join(oddělovač)
spojí prvky do jednoho řetezce, oddělené znakem v závorkách. Pokud není uveden užije se čárka
pop()
odstraní poslední prvek z pole
push(prvkek/prvky)
přidá jeden nebo více prvků na konec pole
reverse()
Otočí pořadí prvků v poli
shift()
odstraní prvek z pole
slice(odindx, doindexu)
vrací část pole od odindx..doindexu-1
sort()
setřídí prvky pole podle abecedy, jako parametr lze volat nějakou porovnávací fuknci
splice()
odstraní určený počet prvků z pole a součesně přidá nové prvky
toString
konvertuje prvky pole na řetězec prvků pole oddělených čárkou
unShift(prvek/prvky)
přidá jeden nebo více prvků na začátek pole
valueOf()
vrací pole prvků oddělených čárkou
Vlastnost
Popis
length
udává počet prvků v poli
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
údaj o tom, které tlačítko na myší je stlačeno: 0 - žádné, 1 - levé, 2 - pravé, 4 - prostřední
clientX
x-ová souřadnice myši vzhledem k pracovní ploše prohlížeče
clientY
y-ová souřadnice
ctrlKey
vrací true pokud je stisknuta klávesa CRTL
keyCode
klávesový kód UNICODE stisknuté klávesy
retutnValue
návratová hodnota události
screenX
x-ová souřadnice kurzoru myši vhledem k obrazovce
screenY
y-ová
shiftKey
true pokud je stisknuta klávesa Shift
type
typ události která právě nastala
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
zobrazuje či skrývá panel s tlačítky Co je nového - pouze pro prohlížeče Natscape.
fullscreen=yes
zobrazí stránku na celou obrazovku - bez okna prohlížeče.
height
Nastavuje výšku okna v pixelech.
left
Nastavuje polohu levého okraje na obrazovce v pixelech.
location
Zobrazuje nebo skrývá panel s URL adresou.
menubar
Zobrazí nebo skrývá panel nabídek.
resizable
Umožňuje změnu velikosti onka.
scrollbars
Přidá k onku posuvníky.
status
Zobrazí nebo skryje stavový řádek.
toolbar
Zobrazí nebo skryje panel nástrojů.
top
Nastovuje polohu horní hrany na obrazovce v pixelech.
width
Nastavuje šířku okna.
U atributů, kde se neudávají pixely, se zadávájí dvě možné hodnoty: true - false, 0 - 1, yes - no. Pokud atribud neuvedeme, předpokládá se hodnota false.
Př.:
<Script language="JavaScript>
<!--
function zavri()
{
if (confirm("Opravdu chcete zavrit toto okno"))
{
window.close
}
}
-->
</script>
< a href="" onClick="zavri()">Zavřít okno</a>
Dynamicky tvořené dokumenty
Pomocí JavaScriptu lze vytvořit nové okno, ale také nový dokument. Pomocí metody write lze zapisovat HTML značky a tím formátovat text v okně.
např.:
var okno=window.open();
okno.dokument.write(<HTML>];
okno.dokument.write(<body bgcolor=#ccffffokno>];
okno.dokument.write(Vítejte na této stránce];
...
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
vrací dostupnou výšku pracovní plochy operačního systému v pixelech
availWidth
dostupní šířka
colorDepth
vrací barevnou hloubku
fontSmoothingEnabled
informuje o aktivování vyhlazování fontů
height
vertikální rozlišení obrazovky v pixelech
width
horizontální rozlišení
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
obklopí řetězec značkami <big> a </big> >zápis: retez.big(), kde retez="text"
blink()
přidá značky
bold()
přidá značky pro tučné písmo
charAt(n)
vrátí n-tý znak řetězce
charCodeAt(n)
vrátí číselnou hodnotu UNICODE kódu znaku
concat()
spojí řetězce
fixed()
přidá značky <TT>
fontcolor()
nastaví barvu fontu řetězce
fontsize()
nastaví velikost fontu řetězce
fromCharCode(kód1,kód2..)
vrací řetězec vytvořený ze specifikovaných kódů Unicode
indexOf(podřetězec,od)
určí pozici podřetězce
italics()
přidá značky pro kurzívu
lastIndexOf(podřetězec,od)
určí poslední pozici výskytu podřetězce v řetězci
link()
přidá do řetězce hypertextové spojení
slice(od/od, do)
vrací specifikovanou část řetězce
small()
přidá značky
split(oddělovač{,limit})
rozdělí řetezec na pole podřetězců
strike()
přidá značky
sub()
přidá značky
substr(od, počet)
vrátí specifikovanou část řetězce
substring(od/od,do)
vrátí specifikovanou část řetězce
sup
přidá značky
toLowerCase()
zkonvertuje řetězec na malá písmena
toString()
vrací stejný řetězec
toUpperCase()
konvertuje řetězec na velká písmena
Vlastnost
popis
length
počet znaků v řetězci
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
událost je vyvolána pokud najede kurzor myši nad dané místo(větš. odkaz)
onClick
provedení skriptu po klikutí na místo
onDblClick
dvojklik tlačítkem myši
onFocus
vyvolání události při zaměření prvku (stane se aktivním)
onBlur
opak-pokud prvek přestane být aktivní
onChange
pokud je změněn obsah prvku (např.:textového pole)
onSelect
po vybrání textu v poli
oLoad
po nahrání dokumentu
onUnload
při opuštění stránky
onError
pokud nastane chyba
onAbort
po přerušení načítání stránky - stisknutím ZASTAVIT na prohlížeči
onReset
při resetovíní formuláře
onSubmit
při odeslání formuláře
onKeyPress
po stisku klávesy (stlačení a uvolnění)
onKeyDown
po stlačení klávesy
onKeyUp
po uvolnění stlačené klávesy
onDblClick
po dvojkliku na daný prvek
onMouseDown
po stisknuti lib. tlačítka myši
onMouseMove
při pohybu kurzoru
onMouseOver
po odtažení kurzoru z objektu
onMouseUp
po uvolnění tlačítka myši
onResize
po změně velikosti aktuálního okna či rámce
<span> slouží k aplikaci událostí na běžný text (a ne jen na odkaz či obrázek)
Pozor na uvozovky: Jelikož se jedná o několik vnořených urovní příkazů je nutné odlišovat uvozovky.
První jsou klasické uvozovky, dále jsou uvozovky nahrazeny apostrofy a nižší úroveň se zapisuje bez uvozovek.
Příklady skriptů s událostmi:
<body>
Po najetí myší nad tento <A href="x.html"
onMouseOver="window.status='Odkaz na stránku x.html';return true"> odkaz </a>
se vypíše adresa ve stavovém řádku
</body>
return true určuje jak se bude chovat odkaz po odtažení kurzoru. Return true blokuje stavový řádek pro správce událostí onMouseOver
pokud nebude uveden, může dojít k nechtěnému výsledku - vyzkoušet
<A href="x.thml" onClick="alert('Chystáte se opustit tuto stránku')">x</a>
<form>
<input type="text" size=30 onFocus="window.status='Zadejte jméno'">
</form>
< body onlLoad="alert('ahoj')>
...
<span onClick="document.write('odpoved <form><input type=button value=zpet onClick=history.go(-1)>
</form>')">
Otazka?</span>
Tento krátký skript umožňuje vytvořit jednoduchý kvíz, kdy se na stránku vypíše otázka a po kliknutí na ni se otevře nové okno s odpovědí a tlačítkem Zpět.
Použití dokument.write() otevírá nové okno.
Je zde také použito všech tří úrovní příkazů - u history, value.. již bez uvozovek
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Vytvoření funkce: - funkce se zpravidla definují v sekci <HEAD>..</HEAD>
function Jmeno();
{
seznam příkazů
}
V závorkách za jménem funkce lze vypsat případné parametry.
<head>
<script language="JavaScript">
<!--
function Datum()
{
var datum=new Date();
var d=datum.getDate();
var m=datum.getMonth();
var r=datum.getYear();
var dnes="Dnes je "+d+" "+m+" "+r+".";
window.status=dnes;
}
//-->
</script>
</head>
Tato funkce nedělá nic jiného, než je vypsání datumu do stavového řádku prohlížeče.
Funkce s návratovou hodnotou
Jsou funkce, které vrací hodnotu uloženou v nějaké proměnné, která pak může být zpracována mimo tuto funkci.
Např.: pokud budeme chtít vypsat satum v určitém místě dokumentu.
K vrácení hodnoty slouží příkaz return jméno_proměnné
Pokud si definujeme funkci:
<head>
<script language="JavaScript">
<!--
function Datum()
{
var datum=new Date();
var d=datum.getDate();
var m=datum.getMonth();
var r=datum.getYear();
var dnes="Dnes je "+d+" "+m+" "+r+".";
return dnes;
}
//-->
můžeme pak použitím např. documet.write(Datum()); zapsat kdekoli obsah proměnné dnes.
Funkce s parametry
Parametry funkce zapisujeme do závorek za jméno funkce. Počet parametrů pak musíme dodržet při voláí funkce.
Např. funkce pro změnu barvy odkazu po najetí kurzorem na odkaz může vypadat takto:
Potom se změní barva po najetí na odkaz va červenou nebo světle zelenou a p odtažení kurzoru na modrou nebo žlutou
Funkce
Popis
escape()
zakóduje řetězec pro přenos
eval()
provede kód JavaScriptu nacházející se v řetězci
isFinite()
zkontroluje zda je zadaný argument konečné či nekonečné číslo
isNaN()
zkontroluje zda je argument číslo
parseFloat()
koverzuje řetězec na číslo
parseInt()
konverzuje řetězec na celé číslo
unescape()
dekóduje řetězec zakódovaný pomocí escape
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zpět na menu:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Pro základní počty slouží aritmetické operátory.
Při počítání je třeba dávat pozor, zda prohlížeč ví, že pracuje s čísly. Pokud budeme například načítat
dvě čísla z editačních řádek, a jejich součet zapíšeme přímé ve funkci document.write(cislo1+cislo2);, vypíšou se daná čísla za sebou,
protože prohlížeč si myslí, že se jedná o text.
Proto je nutné provést konverzi na čísla. K tomuto slouží meotda eval().
Pokud tedy zapíšeme cislo1=exal(textová řetězec); je cislo1 opravdu číslem (pokud je správný textový řetězec).
Další funkce jsou:
parseInt() - převádí řetězec na celé číslo parseFloat() - převádí řetězec na reálné číslo
Mimo tyto možnosti existuje i automatická konverze - pokud pro proměnnou použijeme operátor
cislo++ dojde k automatickému převedení na číslo o 1 vyšší, pak původní číslo získáme cislo--.
Metody
Popis
abs()
absolutní hodnota čísla
acos()
arcus kosinus čísla
asin()
arcus sinus
atan()
arcus tangens
atan2(x,y)
vypočte úhel od osy x do určeného bodu
ceil()
zaokrouhlí číslo nahoru
cos()
kosinus
exp()
vrací hodnotu e na x, kde x je zadáno
floor()
zaokrouhlí číslo dolů
log()
přirozený logaritmus z čísla
max()
vrací větší ze dvou zadaných čísel
min()
menší ze dvou zadaných čísel
pow()
vrací x na y, kde obě čísla jsou zadána
random()
vrací náhodné číslo v rozsahu 0 - 1
round()
zaokrouhlené číslo
sin()
sinus čísla
sqrt()
vrací odmocninu čísla
tan()
tangens čísla
Vlastnosti
Popis
E
eulerovo číslo (2,71828182)
PI
Ludolfovo číslo (3,14159265)
LN2
přirozený logaritmus ze 2
LOG2E
logaritmus o základu 2 z E
LN10
přirozený logaritmus z 10
LOG10E
dekadický logaritmus z E
SQRT1_2
odmocnina z 0,5
SQRT2
odmocnina z 2
Zpět na menu:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
nastavení automatického přehrávání po načtení stránky
Height, Width
určení rozměrů
Loop=true/false
povolení opakovaného přehrávání (monžno použít REPEAT)
hidden=true/false
skryje přehrávač
Nejčastěji používané funkce jsou play() a stop() Pak můžeme vytvořit tlačítko pro zapnutí hudby, kde se po kliknutí provede příkaz:
onClick="document.namePrehravace.play()"
Zpět na menu
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zpět na menu:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zpět na menu:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------