13. března 2004
.:Přidat k oblíbeným
.:Napsat e-mail





Články
Lekce
Příklady

Proměnné

Chcete-li vytvořit něco víc než jenom hlášku blabla, asi se bez nich neobejdete. Pravidla pro práci s proměnnými v JavaScriptu jsou trochu volnější než v některých jiných programovacích jazycích, hlavně co se deklarací týče. Tady je totiž deklarovat nemusíte. Proměnnou zavedete jednoduše tak, že v kódu uvedete její název a něčím ji naplníte (naplnění se provádí znaménkem =):

promenna = 1

Teď jsme zavedli proměnnou promenna a naplnili ji číslem 1. Kromě toho můžete naplnit proměnnou proměnnou - ne to není překlep z příkladu snad pochopíte, co tím myslím:

neco = promenna

Tímto způsobem naplníte proměnnou neco obsahem proměnné promenna. Potom se bude neco rovnat 1. Než půjdeme dál, odskočím si ještě... chvíli zpět k deklaracím. Deklarace sice není povinná, ale je to dobrý zvyk. Pokud se chcete chovat slušně a mít své skripty přehledné, deklarujte. Provedete to jednoduše pomocí klíčového slova var (od variable = proměnná).

var promenna
var neco = 1

Obě výše viditelné možnosti jsou možné. Při deklaraci můžete proměnnou nechat prázdnou nebo ji naplnit. Deklarace je v JavaScriptu povinná jen tehdy, pokud chcete vytvořit tzv. lokální proměnnou (proměnnou, která je použitelná pouze ve funkci, kde byla deklarována). Proč byste ji vytvářeli? Šetří to paměť a skripty jsou pak rychlejší. Opakem je globální proměnná, tu vytvoříte tak, že ji nedeklarujete, nýbrž rovnou zavedete (bez klíčového slova var). Nebo ji můžete deklarovat, ale mimo jakoukoli funkci:

var promenna

function jedna()
{
   promenna = 1
}

function dva()
{
   var neco
   neco = promenna
}

V tomto kódu je deklarována jedna globální (promenna) a jedna lokální (neco) proměnná. Ve funkci jedna naplníme proměnnou promenna číslem 1 a ve funkci dva přiřadíme tuto hodnotu i proměnné neco (lokální).

Název proměnné musí začínat písmenem. Pozor! JavaScript rozeznává velká a malá písmena, takže promenna, Promenna a PROMENNA je pokaždé něco jiného. Na závěr oblíbená poučka: Proměnná se jmenuje proměnná, protože se její obsah může měnit (tak doufám, že i ti méně bystří tohle postřehli). Teda, vzal jsem to nějak zeširoka! No nic jedeme dál:

Datové typy

V mnoha jiných programovacích jazycích nejenže, je nutné proměnné na začátku deklarovat, ale dokonce u nich musíte určit i datový typ. V JavaScriptu by se mohlo zdát, že datové typy neexistují. Opak je samozřejmě pravdou. Teď se jim mrkneme trochu na zoubek.

Řetězec (string)

Tím rozumíme posloupnost znaků. Pro ty, co začínají: znak může být písmeno, číslo nebo symbol. Jak naplnit proměnnou řetězcem?

promenna = "Posloupnost znaků"
neco = 'Může být i @$,.; atd.'

Plníte-li proměnnou řetězcem, musíte ho uzavřít do uvozovek " " nebo do apostrofů ' '. Pokud chcete, aby řetězec obsahoval i apostrof, nebo uvozovky jednoduše použijte při definici řetězce tu druhou dvojici znaků:

promenna = 'Zakřičel: "Do...!"'

promenna teď obsahuje Zakřičel: "Do...!"

Čísla

JavaScript nerozlišuje mezi čísly celými, reálnými atd. Pro něho jsou to prostě čísla. Můžeme je ale různě zapsat:

promennaDec = 51 // není co dodat
promennaVed = .51e2 // vědecký zápis; 0,51*102 = 51
promennaOct = 063 // nulou se přepíná do osmičkové soustavy
promennaHex = 0x33 //sekvencí 0x se přepíná do šestnáctkové soustavy

Jo a mimochodem, všechny tyhle zápisy jsou číslo 51.

Kromě obvyklých číselných hodnot mohou proměnné nabývat i některých dalších, speciálních:

Infinity Nekonečno. V matematických operacích vystupuje jako kladné.
+Infinity Kladné nekonečno.
-Infinity Záporné nekonečno.
+0 Kladná nula.
-0 Záporná nula.
NaN Not a number (není číslo). Tuto hodnotu můžete přiřadit, nebo je výsledkem některých matematických operací. Např. -Infinity děleno +Infinity.

Boolean

Nabývá pouze dvou hodnot: true a false. Využijete ho především v podmínkách a cyklech (viz. dále).

Null.

Je to zároveň datový typ a zároveň hodnota. Pokud proměnná obsahuje null, znamená to, že obsahuje velké NIC a není žádného datového typu. Je možný i zápis:

promenna = null
Undefined.

Typ undefined, není možné žádné proměnné přiřadit. Je-li proměnná undefined (nedefinovaná), znamená to zpravidla, že neexistuje, nebo nemá definovanou/přiřazenou hodnotu.

Operace s proměnnými

Teď za sebe s dovolením nechám opět mluvit tabulku:

+ Sčítání nebo zřetězení. Sčítání asi všichni znáte (aspoň doufám). Zřetězení je trochu krkolomný výraz pro spojení dvou řetězců. Např. máte dva řetězce "ahoj " a "Venco". Po zřetězení "ahoj " + "Venco" dostanete "ahoj Venco".
- Odčítání: nic víc nic míň.
* Násobení.
/ Dělení.
= Přiřazení. Hodnotu nějaké proměnné jsme už přiřazovali o pár řádků výše.
% Modulo, neboli zbytek po celočíselném dělení. 9 % 4 = 1
+=, -=, *=, /=, %=  Je to přesně tak jak to vypadá. Operátor s přiřazením, udělá danou operaci a zároveň už přiřadí výsledek do proměnné. Takže promenna += 2 je to samé, jako promenna = promenna + 2. To platí i pro zřetězování (+=).
++ Vědecky - inkrementace. Prozaicky - přičítá k proměnné 1; promenna ++ je to samé jako promenna = promenna + 1.
-- Dekrementace. Bystřejší mohou opět vytušit, co to asi bude... ano promenna -- je stejné jako promenna = promenna - 1.
() Závorky. Mají stejný význam jako v matematice. Nehodlám se dlouze rozepisovat o tom, že násobení má přednost před sčítáním atd. To byste už měli vědět.

Závěr

Jen pro úplnost: pro sestavení většiny tabulek v těchto lekcích jsem se silně inspiroval knihou Dynamické HTML v akci, od Erica M. Schurmana a Williama J. Pardiho (vydalo nakladatelství Computer Press). Ano otevřeně přiznávám nedostatek fantazie v oblasti vytváření nezáživných seznamů a ta kniha je, myslím, celkem dobrá. Tak teď to víte všechno.

Mort




<< Předchozí lekce


Další lekce >>
_
^
Back to top

Visit internet online roulette and blackjack casino and recieve amazing matching bonus.

Valid XHTML 1.0!   Valid CSS!
TOPlist