Pokud neuvádím jinak, jsou tyto funkce přístupné ve všech verzích prohlížečů. Tyto funkce se dají chápat také jako metody objektu window, které se dědí na všechny rodičovské elementy, ale pokud tomu nerozumíte, není nutné se tím zabývat.
Eval je od slova vyhodnotit (evaluate). Funkce vezme svoje argumenty a vyhodnotí je jako by to byl kus programu. Používá se zejména pro dynamickou změnu kódu. Tuto funkci mají v oblibě všichni programátoři JavaScriptu, protože umožňuje zápis konstrukcí běžných z vyšších jazyků, které by JavaScript jinak nevzal.
Příklad:
promenna="document.write";
promenna2="(1 + 1)";
eval(promenna + promenna2)
Funkce eval() vezme argument promenna + promenna2
a vyhodnotí
ho. Dostane řetězec
document.write(1 + 1)
a rovnou to provede. Takže se vypíše dvojka. Můžete se přesvědčit.
Zakódování řetězce pro přenos umí funkce escape(). Jeho rozkódování dělá unescape(). Používá se zejména v souvislosti s cookies a předávání parametrů z formulářů. Jde o to, aby se při přenosu nic nezkazilo diakritikou a speciálními znaky.
Například escape("loď") == "lo%uo10"
Záleží na znakové sadě. Zobrazte si příklad.
Pokud escape nedělá přesně to, co potřebujete, vyzkoušejte funkce encodeURI() a encodeURIComponent(). Ty se hodí na kódování http adres (něco jako v PHP urlEncode).
V dokumentaci se praví, že funkce vrátí false, pokud je číslo v argumentu nekonečné. To se může stát třeba při dělení nulou nebo při počítání logaritmu z nuly:
document.write(isFinite(Math.log(0)));
vypíše false.
Podpora od čtyřkových verzích prohlížečů.
Vrací true (pravdu), pokud argument není číslo, false pokud je číslo.
Převodní a zaokrouhlovací funkce. Argumentem je řetězec, který je převeden na číslo. parseInt z něj vrátí jenom celou část, parseFloat i s desetinou částí.
Funkce parseInt má parametry dva, první je co se parsuje, druhy je zaklad (2 až
36).
Pozor, začíná-li zápis čísla znakem 0 a není uveden zaklad, bere se zaklad
8. Pokud začíná 0x, bere se základ 16.
Jak psát web píše Yuhů, Dušan Janovský. Kontakt.