Vestavěné vlastnosti, funkce a objekty
Některé vlastnosti a funkce JavaScriptu nejsou vázány k žádnému objektu a jsou implementovány přímo do jádra jazyka JavaScript.
Vlastnost Infinity
Hodnotou vestavěné vlastnosti Infinity je hodnota reprezentující kladné nekonečno, která umožňuje například porovnávat vypočtené hodnoty s nekonečnem:
function jeInfinity(hodnota) {
return (hodnota == Infinity)
}
Vlastnost NaN
Vestavěná vlastnost NaN obsahuje hodnotu reprezentující speciální číselnou hodnotu NaN (Not a Number) vznikající při neúspěšné konverzi řetězcových hodnot na číslo. Hodnota NaN není rovna žádné hodnotě ani sama sobě a proto pro testování této hodnoty je třeba využít funkci isNaN vestavěnou do jádra JavaScriptu:
var Prom = (NaN == NaN)
/* proměnná Prom má hodnotu false */
Vlastnost undefined
Vlastnost undefined reprezentuje nedefinovanou hodnotu undefined, která může posloužit k testování proměnné, zda proměnná tuto hodnotu neobsahuje:
function Nedefinovana(hodnota) {
return (hodnota == undefined)
}
Funkce isNaN
Pro testování speciální číselné hodnoty NaN lze použít funkci isNaN, která vrací true, je–li hodnotou jejího parametru NaN:
if (isNaN(hodnota)) …
Funkce isFinite
Pro testování zda je hodnota konečná, není ani záporné ani kladné nekonečno či NaN, existuje funkce isFinite vracející true v případě, že hodnotou jejího parametru je konečná hodnota:
if (isFinite(hodnota)) …
Funkce escape a unescape
Funkce escape slouží k překladu znaků, které nejsou čísly, písmeny, aritmetickými operátory ( *, /, +, - ) nebo znakem podtržítko ( _ ), na takzvané escape sekvence, tvořené trojicí znaků %XX, kde XX jsou dvě hexadecimální číslice vyjadřující vnitřní kód překládaného znaku:
escape("1#b") == "1%23b"
Funkce unescape funguje inverzním způsobem:
unescape("1%23b") == "1#b"
Funkce eval
Parametrem funkce eval je řetězec – posloupnost příkazů JavaScriptu oddělených středníky. Funkce eval vyhodnotí svůj parametr a vrátí hodnotu posledního příkazu v posloupnosti:
var cislo = eval("2+3")
/* proměnná cislo má hodnotu 5 */
Funkce parseFloat
K překladu textového tvaru čísel do vnitřní reprezentace, která je potřebná k provádění aritmetických operací slouží funkce parseFloat. Parametrem funkce parseFloat je řetězec, jehož hodnotou je správný tvar celého, desetinného nebo semilogaritmického čísla včetně znaménka:
var cislo = parseFloat("-2.59e-2")
/* proměnná cislo má hodnotu –0.0259 */
Pokud funkce parseFloat narazí při překladu parametru na znak, který nelze přeložit jako součást čísla, překlad je ukončen a zbytek řetězce je ignorován. Pokud je již prvním znakem nepřeložitelný znak, vrací funkce parseFloat hodnotu NaN:
var cislo = parseFloat("-2.5K9e-2")
/* proměnná cislo má hodnotu -2.5 */
var cislo2 = parseFloat("K-2.59e-2")
/* proměnná cislo2 má hodnotu NaN */
Funkce parseInt
Funkce parseInt slouží k překladu textového tvaru celých čísel do vnitřní reprezentace, jejím prvním parametrem je opět řetězec jehož hodnotou je správný tvar celého čísla, jako druhým, nepovinným parametrem, je hodnota základu, ve kterém má být číslo vyjádřeno. Pokud vynecháme druhý parametr:
- funkce předpokládá základ 16 pokud řetězec prvního parametru začíná “0x...”
- funkce předpokládá základ 8 pokud řetězec prvního parametru začíná “0...”
- v ostatních případech funkce předpokládá základ 10
Pokud funkce narazí na první nepřeložitelný znak, překlad končí a zbytek řetězce je ignorován, pokud je již první znak nepřeložitelný, vrací funkce hodnotu NaN:
var cislo = parseInt("K",16)
/* proměnná cislo má hodnotu NaN */
var cislo2 = parseInt("FF",16)
/* proměnná cislo2 má hodnotu 255 */
var cislo3 = parseInt("1010",2)
/* proměnná cislo3 má hodnotu 10 */
Funkce Number
Funkce slouží ke konverzi objektu na číslo. Pokud je funkce Number použita na objekt typu String, který neobsahuje textový tvar čísla, vrací funkce NaN. Při použití funkce Number na objekt Date, vrací funkce počet milisekund uplynulých od půlnoci 1. ledna 1970 UTC do okamžiku určeného příslušným objektem Date:
var Vterina = new Date("Jan 1, 1970 00:00:01 UTC")
var Uplynulo = Number(Vterina)
/* proměnná vteřina má hodnotu 1000 */
Funkce String
Funkce String slouží ke konverzi objektu zadaného jako parametr na řetězec. Funkce vrací stejnou hodnotu jako volání metody toString příslušného objektu. Pouze u objektu Date vrací funkce String řetězcovou hodnotu popisující časový okamžik reprezentovaný objektem Date:
var Okamzik = new Date("Sep 2, 1978 22:05:27")
var Retezec = String(Okamzik)
/* proměnná Retezec obsahuje řetězec zobrazující datum */
Funkce taint a untaint
Funkce taint a untaint jsou součástí tzv. Modelu špinavých dat, který byl pokusně zaveden v JavaScriptu 1.1, v JavaScriptu 1.2 se již neobjevil. Protože je důležité, aby mohl uživatel kontrolovat, která data jsou odesílána JavaScriptovým programem na server, jsou do jádra JavaScriptu přidány funkce taint a untaint. Parametrem funkce taint je proměnná, vlastnost objektu, funkce nebo objekt. Funkce vrací označenou kopii elementu, kterou JavaScriptový program nesmí bez uživatelova schválení odeslat na server. Funkce untaint pracuje inverzním způsobem, vrací neoznačenou kopii elementu označeného funkcí taint:
var Neoznaceny_Date = untaint(taint(new Date()))
Objekt Array
K reprezentaci polí v JavaScriptu slouží do jazyka vestavěný objekt Array. Objekty Array se vytvářejí stejnojmenným konstruktorem, pomocí něhož se pole vytváří buď udáním počtu položek pole:
var pole = new Array(počet_položek)
nebo uvedením výčtu obsahů položek pole oddělených čárkou:
var pole = new Array("první","druhá","třetí")
V JavaScriptu existuje také polní literál, předepsaný tvar pro vyjadřování polí, seznam prvků pole, oddělených čárkou, uzavřený do hranatých závorek:
var pole = [1, 2, 3, "konec"]
Protože je pole v JavaScriptu objekt Array, přidává se položka do pole stejně, jako se přidávají vlastnosti určené číslem do objektu: přiřadíme hodnotu do dosud neexistující položky pole:
pole[3] = "čtvrtá"
Při rozšíření pole položkou (vlastností určenou číselně) je automaticky modifikována vlastnost pole length, pokud je však vytvořeno nesouvislé pole, nastaví se vlastnost length na hodnotu nejvyššího použitého indexu položky a dále tedy nevyjadřuje počet položek pole.
Do objektu Array je také možné přidat vlastnost určenou jménem, do vlastnosti length se však přítomnost vlastností určených jménem nijak nepromítne:
pole["dalsi"] = "Ahoj!"
je ekvivalentní:
pole.dalsi = "Ahoj!"
V JavaScriptu lze vytvořit i pole dvourozměrné a sice jako pole odkazů na jiná pole, prvky dvourozměrného pole indexujeme: název_pole[index1, index2]:
var matice3x3 = new Array(3)
for (var i in matice3x3)
matice3x3[i] = new Array(3)
Vlastnosti objektů Array
- index – vlastnost má význam pouze pokud pole vzniklo aplikací regulárního výrazu na řetězec, vlastnost pak obsahuje index určující, na které pozici řetězce byla aplikace výrazu poprvé úspěšná.
- input – vlastnost má význam pouze pokud pole vzniklo aplikácí regulárního výrazu na řetězec, vlastnost pak obsahuje tento řetězec.
- length – vlastnost obsahuje počet položek pole.
Metody objektů Array
- concat(pole1[, pole2 …]) – metoda připojí specifikovaná pole a vrátí takto vytvořené nové pole:
var Pole = new Array(1, 2, 3)
var Dalsi = new Array(4, 5, 6)
var Spojene = Pole.concat(Dalsi)
/* hodnotami prvků pole Spojene jsou čísla 1 až 6 */
- join([separátor]) – metoda zkonvertuje hodnoty položek pole na řetězce a spojí je pomocí separátoru do jednoho řetězce. Nepovinným parametrem metody je separátor – řetězec, jehož implicitní hodnotou je znak čárka ( , ):
var datum = new Array('Sep', 2, 1978)
var vcelku = datum.join("–")
/* proměnná vcelku má hodnotu 'Sep–2–1978' */
- pop( ) – metoda odstraní poslední prvek pole a vrátí odstraněnou hodnotu:
var Pole = new Array(1, 2, 3)
var Odstraneno = Pole.pop()
/* proměnná Odstraneno má hodnotu 3 a pole Pole obsahuje prvky s hodnotami 1 a 2 */
- push(hodnota1[, hodnota2 …]) – metoda přidá na konec pole nové prvky a vrátí aktuální hodnotu vlastnosti pole length:
var Pole = new Array(1, 2)
var Delka = Pole.push(3, 4)
/* pole Delka obsahuje prvky s hodnotami 1 až 4 */
- reverse( ) – metoda obrátí pořadí prvků pole tak, že poslední prvek se přiřadí indexu 0, předposlední prvek indexu 1 atd.
- shift( ) – metoda odstraní první prvek pole a vrátí hodnotu odstraněného prvku:
var Pole = new Array(1, 2, 3)
var Odstraneny = Pole.shift()
/* proměnná Odstraneny má hodnotu 1 a pole Pole obsahuje prvky s hodnotami 2 a 3 */
- slice(index1, index2) – metoda vrátí pole, jehož prvky jsou prvky části pole původního specifikované číeslnými indexy.
- splice(index, počet_prvků, [hodnota1][, hodnota2 …]) – metoda přepíše počet_prvků pole původního novými hodnotami, prvním přepsaným prvkem je prvek s daným indexem a vrací pole obsahující odstraněné prvky:
var Pole = new Array(1, 2, 3, 4)
var Odstraneno = Pole.splice(1, 2, 5, 6)
/* pole Pole obsahuje prvky s hodnotami 1, 5, 6, 4 a pole Odstraneno obsahuje prvky s hodnotami 2 a 3 */
- sort([porovnávací_funkce]) – metoda setřídí prvky pole porovnávací_funkcí uvedenou jako nepovinný parametr – funkcí o dvou parametrech, vracející zápornou hodnotu pokud první parametr předchází druhý, 0 pokud jsou parametry ekvivalentní a kladnou hodnotu pokud první parametr následuje za druhým – například:
function Usporadej (a, b){
if (a < b) return -1
if (a > b) return 1
return 0
}
var cisla = new Array (3, 8, 4, 6)
cisla.sort(Usporadej)
/* pole Usporadej obsahuje prvky s hodnotami 3, 4, 6, 8 */
- toSource( ) – metoda vrátí kopii původního pole.
- toString( ) – metoda vrátí řetězec specifikující pole.
- unshift(hodnota1[, hodnota2 …] ) – metoda přidá nové prvky na začátek pole a vrátí aktuální hodnotu vlastnosti length:
var Pole = new Array(1, 2, 3)
var Nova_delka = Pole.unshift(-1, 0)
/* pole Pole obsahuje hodnoty –1 až 3 a proměnná Nova_delka má hodnotu 5 */
- valueOf( ) – metoda vrátí název typu prvků pole:
var Pole = new Array(1, 2, 3)
var Typ_prvku = Pole.valueOf()
/* proměnná Typ_prvku má hodnotu "number" */
Objekt Boolean
Objekt Boolean je objektem obalujícím primitivní datový typ boolean. Objekty Boolean lze vytvářet i explicitně voláním funkce konstruktoru Boolean. Funkce konstruktoru Boolean lze využít ke konverzi hodnot na primitiní hodnoty boolean:
var Logicka_hodnota = Boolean("Ahoj!")
/* proměnná Logicka_hodnota má hodnotu true (neprázdný řetězec) */
Pokud je objekt Boolean použit jako výraz v podmínce, je jeho hodnotou true i v případě že byla konstruktorem jeho počáteční hodnota nastavena na false (jakýkoli objekt je implicitně konvertován na hodnotu true). Správné vyhodnocení proběhne až po použití metody valueOf( ) objektu Boolean nebo v tomto případě i srovnáním s konkrétní hodnotou:
var Nepravda = new Boolean(false)
if (Nepravda) /* vyhodnoceno jako true */
if (Nepravda.valueOf()) /* vyhodnoceno jako false */
if (Nepravda == false)
/* vyhodnoceno jako true */
Metody objektů Boolean
- toSource( ) – metoda vrací řetězec, jehož hodnotou je zdrojový text konstruktoru.
- toString( ) – metoda vrací řetězec, jehož hodnotou je “true” nebo “false”.
- valueOf( ) – metoda vrací primitivní datovou hodnotu typu boolean.
Objekt Date
Objekt Date, vestavěný do JavaScriptu, reprezentuje časový okamžik. Hodnota času je v objektech Date uložena jako počet milisekund od počátku, stanoveného na 1. 1. 1970 greenwichského času (GMT – Greenwich Meridian Time), někdy značeného jako UTC vyjádření času. Konstruktoru objektů Date lze užít více způsoby:
- Date( ) – konstruktor vytváří objekt, který reprezentuje aktuální datum a čas vzniku objektu:
var Nyni = new Date()
- Date(číselný_výraz) – konstruktor vytvoří objekt reprezentující čas v milisekundách uplynulých od počátku.
var Vanoce_86 = new Date(535762800000)
/* objekt Vanoce_86 reprezentuje Štědrý Den 1986 */
- Date(rok, měsíc, den [, hodina [, minuta [, sekunda [:milisekunda]]]]) – konstruktor vytvoří objekt reprezentující čas zadaný pomocí parametrů. Parametry jsou číselné hodnoty. Pokud nejsou uvedeny nepovinné parametry, nahradí se 0.
- Date(“měsíc den, rok [hodina [:minuta [:sekunda [:milisekunda]]]] [GMT]”) – konstruktor vytvoří objekt, který reprezentuje datum a čas uvedený jako parametr konstruktoru v naznačeném formátu. Měsíc musí být vyjádřen jednoznačným anglickým názvem, den je vyjádřen číslem z intervalu 1 až 31, rok smí být vyjádřen úplně nebo s vynecháním století (nedoporučuje se). Hodiny, minuty a sekundy jsou nepovinné. Pokud není uvedeno GMT, předpokládá se místní čas. Pokud parametr neodpovídá naznačenému formátu, vznikne objekt reprezentující datum počátku:
var Pocatek = new Date("Jan 1, 1970 00:00:00 GMT")
Speciální metody
Tyto metody nejsou součástí žádného konkrétního objektu Date, jsou proto volány pomocí identifikátoru Date:
- parse(“měsíc den, rok [hodina [:minuta [:sekunda [:milisekunda]]]] [GMT]”) – metoda vrací počet milisekund uplynulých od počátku do data uvedeného jako parametr metody, pokud je uvedeno GMT, neliší se hodnoty vracené touto metodou od hodnot vracených metodou UTC:
var Uplynul = Date.parse("Dec, 24, 1999 10:11:15 GMT")
- UTC(rok, měsíc,den [,hodina [,minuta [,sekunda [:milisekunda]]]) – metoda vrací počet milisekund uplynulých od počátku, který se vždy chápe jako greenwichský čas.
var Uplynul_stejne = Date.UTC(1999, Dec, 24, 10, 11, 15)
Metody objektů Date
Metody objektů Date pracují zpravidla s vyjádřením místního času, většina metod má však svou variantu (uvedenou na konci tohoto seznamu), která pracuje s časem univerzálním (UTC neboli GMT).
- getDate( ) – metoda vrací pořadové číslo dne v měsíci v intervalu 1 až 31.
var Kolikateho = new Date().getDate()
- getDay( ) – metoda vrací pořadové číslo dne v týdnu v intervalu 0 (neděle) až 6.
- getFullYear( ) – metoda vrací čtyřmístné pořadové číslo roku (doporučeno):
var Kolikaty_rok = new Date().getFullYear()
- getHours( ) – metoda vrací pořadové číslo hodiny ve dni v intervalu 0 až 23.
var Kolikata_hodina = new Date().getHours()
- getMilliseconds( ) – metoda vrací pořadové číslo milisekundy.
- getMinutes( ) – metoda vrací pořadové číslo minuty v hodině v intervalu 0 až 59.
- getMonth( ) – metoda vrací pořadové číslo měsíce v roce v intervalu 0 (leden) až 11:
var Kolikaty_mesic = new Date().getMonth()
- getSeconds( ) – metoda vrací pořadové číslo vteřiny v minutě v intervalu 0 až 59.
- getTime( ) – metoda vrací počet milisekund od počátku.
- getTimezoneOffset( ) – metoda vrací rozdíl v minutách mezi časem místním a GMT.
var Rozdil = new Date().getTimezoneOffset()
- getYear( ) – metoda vrací pořadové číslo roku (nemusí pracovat správně).
- setDate(číselný_výraz) – metoda nastaví den příslušného data, parametrem je číslo z intervalu 1 až 31.
- setFullYear(číselný_výraz) – metoda nastaví rok příslušného data.
- setHours(číselný_výraz) – metoda nastaví hodinu data, parametrem je číslo z intervalu 0 až 23.
var Vanoce_89 = new Date("Dec 24, 1989")
Vanoce_89.setHours(18)
- setMilliseconds(číselný_výraz) – metoda nastaví milisekundy příslušného data, parametrem je číslo z intervalu 0 až 999.
- setMinutes(číselný_výraz) – metoda nastaví minutu data, parametrem je číslo z intervalu 0 až 59.
- setMonth(číselný_výraz) – metoda nastaví měsíc příslušného data, parametrem je číslo z intervalu 0 až 11.
- setSeconds(číselný_výraz) – metoda nastaví vteřinu data, parametrem je číslo z intervalu 0 až 59:
var Vanoce_89 = new Date("Dec 24, 1989")
Vanoce_89.setSeconds(58)
- setTime(objekt_Date | číselný_výraz) – metoda nastaví časový okamžik objektu, nad kterým je metoda volána časovým okamžikem specifikovaným objektem_Date nebo číselným_výrazem jako počtem milisekund uvedeným jako parametr:
var Okamzik = new Date("Sep 2, 1978 22:05:13")
var Okamzik2 = new Date()
Okamzik2.setTime(Okamzik)
/* oba objekty reprezentují stejný časový okamžik */
- setYear(číselný_výraz) – metoda nastaví rok příslušného data.
- toGMTString( ) – metoda převede datum a čas na řetězec vyjadřující greenwichský čas:
var Cas_GMT = new Date().toGMTString()
- toLocaleString( ) – metoda převede datum a čas na řetězec vyjadřující místní čas.
- toSource( ) – metoda vrací řetězec reprezentující zdrojový kód objektu:
var Zdroj = new Date().toSource()
- toString( ) – metoda vrací řetězec specifikující časový okamžik reprezentovaný objektem, nad kterým je volána.
- toUTCString – metoda převede datum a čas na řetězec vyjadřující UTC čas.
- valueOf( ) – metoda vrací vnitřní reprezentaci časového okamžiku (nepoužívá se v kódu).
Některé metody objektu Date mají svou UTC variantu pracující s UTC (GMT) vyjádřením času: getUTCDate, getUTCDay, getUTCFullYear, getUTCHours, getUTCMilliseconds, getUTCMinutes, getUTCMonth, getUTCSeconds, setUTCDate, setUTCFullYear, setUTCHours, setUTCMilliseconds, setUTCMinutes, setUTCMonth, setUTCSeconds.
Objekt Function
Vestavěný objekt Function je objekt chovající se jako funkce. Objekty Function vznikají pomocí konstruktoru Function, jehož prvními několika parametry jsou parametry tvořené funkce a posledním parametrem je tělo tvořené funkce:
var Secti = new Function("a", "b", "return a+b")
je téměř ekvivalentní:
function Secti(a,b) {
return a+b
}
Výhodou funkce vzniklé jako objekt Function je, že taková funkce včetně parametrů a těla může vzniknout dynamicky při výpočtech JavaScriptu.
Jelikož je v JavaScriptu funkce vzniklá pomocí příkazu function obalována objektem obalujícím primitivní datový typ function, má, stejně jako objekty Function vytvořené stejnojmenným konstruktorem, některé vlastnosti, které jsou však přístupné pouze při vykonávání těla funkce:
- arguments – položkami pole arguments jsou hodnoty parametrů, které byly zadány při volání funkce:
function Vynasob() {
var Vysledek = Vynasob.arguments[0]
for(var i=1; i < Vynasob.arguments.length; i++)
Vysledek *= Vynasob.arguments[i]
return Vysledek
}
/* funkce mezi sebou vynásobí libovoný počet čísel zadaných jako parametry */
- arguments.callee – vlastnost jejíž hodnotou je řetězec obsahující tělo funkce:
function Secti(a, b) {
return Secti.arguments.callee
}
var Zdrojovy_text = Secti(2, 3)
/* proměnná Zdrojovy_text obsahuje tělo funkce s parametry 2 a 3 */
- arguments.caller – vlastnost odkazuje na funkci, která právě prováděnou funkci vyvolala. Pokud není funkce volána z jiné funkce, vlastnost má hodnotu null.
- arguments.length – vlastnost obsahuje počet parametrů předaných funkci.
- arity – vlastnost obsahuje počet parametrů očekávaných funkcí.
- length – vlastnost obsahuje počet funkcí očekávaných parametrů.
function Odecti(a, b) {
return Odecti.length
}
var Ocekavano = Odecti(2, 3)
/* proměnná Ocekavano má hodnotu 2 */
Metody objektů Function
- apply(this, pole_parametrů_funkce) – metoda umožňuje použití dříve deklarované metody objektu nebo funkce konstruktoru v jiné funkci konstruktoru (řetězení konstruktorů):
function vec(nazev, tvar) {
this.nazev = nazev
this.tvar = tvar
}
function vec_podrobne(nazev, tvar, barva) {
this.barva = barva
vec.apply(vec_podrobne, arguments)
}
vec_podrobne.prototype = new vec()
var ovoce = new vec_podrobne("jablko","koule","cervena")
- call(this, parametr, parametr, …) – metoda umožňuje použití dříve deklarované funkce konstruktoru v jiné funkci konstruktoru (obdobné použití jako u metody apply).
- toSource( ) – metoda vrací řetězec, jehož hodnotou je zdrojový text konstruktoru funkce.
- toString( ) – metoda vrací řetězec, jehož hodnotou je zdrojový text funkce.
- valueOf( ) – metoda vrací řetězec, jehož hodnotou je zdrojový text funkce.
Objekt Math
K vestavěnému objektu Math neexistuje příslušný konstruktor a proto nevznikají jiné objekty Math. Součástí tohoto jediného objektu Math jsou vlastnosti a metody sloužící k provádění aritmetických výpočtů.
Vlastnosti objektu Math
- E – vlastnost obsahuje eulerovo číslo, které je základem přirozeného logaritmu /ro/.
- LN2 – vlastnost obsahuje přirozený logaritmus čísla 2 /ro/.
- LN10 – vlastnost obsahuje přirozený logaritmus čísla 10 /ro/.
- LOG2E – vlastnost obsahuje dvojkový logaritmus Eulerova čísla /ro/.
- LOG10E – vlastnost obsahuje dekadický logaritmus Eulerova čísla /ro/.
- PI – vlastnost obsahuje Ludolfovo číslo /ro/.
- SQRT1_2 – vlastnost obsahuje odmocnina z 1/2 /ro/.
- SQRT2 – vlastnost obsahuje odmocnina z 2 /ro/.
var polomer = Math.SQRT2
var obvod = 2 * Math.PI * polomer
Metody objektu Math
- abs(číselný_výraz) – metoda vrací absolutní hodnotu z číselného_výrazu.
var Ctyri = Math.abs(-4)
- acos(číselný_výraz) – metoda vrací arkuskosinus číselného_výrazu.
- asin(číselný_výraz) – metoda vrací arkussinus číselného_výrazu.
- atan(číselný_výraz) – metoda vrací arkustangens číselného_výrazu.
- atan2(číselný_výraz1, číselný_výraz2) – metoda vrací arkustangens podílu číselný_výraz1 / číselný_výraz2.
- ceil(číselný_výraz) – metoda vrací nejmenší celé číslo, větší nebo rovno číselnému_výrazu.
- cos(číselný_výraz) – metoda vrací kosinus číselného_výrazu.
- exp(číselný_výraz) – metoda vrací Eulerovo číslo umocněné na číselný_výraz.
- floor(číselný_výraz) – metoda vrací největší celé číslo, menší nebo rovno číselnému_výrazu.
- log(číselný_výraz) – metoda vrací přirozený logaritmus číselného_výrazu.
- max(číselný_výraz1, číselný_výraz2) – metoda vrací větší z obou číselných_výrazů.
- min(číselný_výraz1, číselný_výraz2) – metoda vrací menší z obou číselných_výrazů.
- pow(číselný_výraz1, číselný_výraz2) – metoda vrací číselný_výraz1 umocněný na číselný_výraz2.
- random( ) – metoda vrací náhodné číslo z intervalu 0 až 1, jádro generačního algoritmu je automaticky inicializováno stavem systémových hodin.
- round(číselný_výraz) – metoda vrací číselný_výraz zaokrouhlený na celé číslo.
- sin(číselný_výraz) – metoda vrací sinus číselného_výrazu.
- sqrt(číselný_výraz) – metoda vrací druhou odmocnina číselného_výrazu.
- tan(číselný_výraz) – metoda vrací tangens číselného_výrazu.
var vetsi = Math.max(3, Math.Pow(2,2))
var rovno = Math.sin(Math.PI/2) == Math.log(Math.E)
/* proměnná vetsi má hodnotu 4 a proměnná rovno hodnotu true */
Objekt Number
Vestavěný objekt Number je objektem obalujícím primitivní datový typ number a dále obsahuje několik vlastností, jejichž hodnotami jsou některé zvláštní číselné konstanty. Objekty Number je možno vytvářet voláním stejnojmenného konsrtuktoru. Parametrem funkce konstruktoru Number je číselná hodnota, kterou tento objekt reprezentuje:
var Cislo = new Number(21)
Vlastnosti objektů Number
- NaN – vlastnost obsahuje hodnotu “nečísla” /ro/.
var Necislo = Number.NaN
- POSITIVE_INFINITY – vlastnost obsahuje hodnotu kladného nekonečna /ro/.
- NEGATIVE_INFINITY – vlastnost obsahuje hodnotu záporného nekonečna /ro/.
- MAX_VALUE – vlastnost obsahuje hodnotu největšího reprezentovatelného čísla /ro/.
- MIN_VALUE – vlastnost obsahuje hodnotu nejmenšího reprezentovatelného čísla /ro/:
var Nejmensi = Number.MIN_VALUE
Metody objektů Number
- toSource( ) – metoda vrací řetězec, jehož hodnotou je zdrojový text funkce konstruktoru.
- toString( ) – metoda vrací řetězec, jehož hodnotou je řetězec reprezentující číselnou hodnotu uchovávanou objektem Number.
- valueOf( ) – metoda vrací řetězec, jehož hodnotou je číslo uchovávané objketem Number.
Objekt screen
JavaScript obsahuje jediný vestavěný objekt screen, který pomocí několika vlastností popisuje nastavení obrazovky.
Vlastnosti objektu screen
- availHeight – vlastnost určuje vertikální rozlišení obrazovky v pixelech, od celkového počtu pixelů je odečtena výška trvale viditelných objektů (například lišta Windows):
var Uzitecna_vyska = screen.availHeight
- availLeft – vlastnost určuje vodorovnou souřadnici prvního pixelu, který není součástí některého trvale viditelného objektu.
- availTop – vlastnost určuje svislou souřadnici prvního pixelu, který není součástí některého trvale viditelného objektu.
- availWidth – vlastnost určuje horizontální rozlišení obrazovky v pixelech, od celkového počtu pixelů je odečtena výška trvale viditelných objektů.
- colordepth – vlastnost, pokud je používána paleta barev, určuje tato vlastnost její barevnou bitovou hloubku, jinak je hodnota této vlastnosti odvozena od hodnoty vlastnosti pixelDepth:
var Barevna_hloubka = screen.colorDepth
- height – vlastnost určuje vertikální rozlišení obrazovky v pixelech bez ohledu na viditelné objekty, jako je tomu u vlastnosti availHeight.
- pixelDepth – vlastnost určuje barevnou bitovou hloubku obrazovky.
- width – vlastnost určuje horizontální rozlišení obrazovky v pixelech bez ohledu na viditelné objekty, jako je tomu u vlastnosti availWidth:
<SCRIPT>
document.write('Pracujete v rozlišení ' +
screen.width + 'x' + screen.height +
', v ' + screen.pixelDepth +
'–bit barevné hloubce.')
</SCRIPT>
<!-- program zobrazí například "Pracujete v rozlišení 1024x768 v 32–bit barevné hloubce." -->
Objekt String
Vestavěný objekt String obsahuje metody potřebné pro práci s řetězci, objekty String vytvořené pomocí stejnojmenného konstruktoru reprezentují řetězcové hodnoty:
var Retezec = new String("Řetězcová hodnota")
Aby však bylo možno i nad řetězcovou proměnnou volat metodu objektu String, je taková proměnná automaticky obalována objektem String obalujícím primitivní datový typ string:
document.write('Jak se máte?'.bold())
/* program zapíše do dokumentu "Jak se máte?" tučným řezem písma */
Vlastnosti objektů String
- length – vlastnost obsahuje délku řetězce.
Metody objektů String
- anchor(řetězcový_výraz) – metoda vrací řetězec doplněný o značky <A> a </A>, parametrem metody je jméno kotvy HTML dokumentu:
document.write("Kotva 1".anchor("první"))
je ekvivalentní:
<A NAME="první">Kotva 1</A>
- big( ) – metoda vrací řetězec doplněný o značky <BIG> a <BIG> značící velký text.
- blink( ) – metoda vrátí řetězec doplněný o značky <BLINK> a <BLINK> značící blikající text.
- bold( ) – metoda vrací řetězec doplněný o značky <B> a </B> značící tučný text:
document.write("Tučný text".bold())
je ekvivalentní:
<B>Tučný text</B>
- charAt(číselný_výraz) – metoda vrací znak ležící v řetězci na místě určeném parametrem metody.
var Kde = "Ahoj!".charAt(2) // proměnná Kde má hodnotu o
- charCodeAt(číselný_výraz) – metoda vrací Unicode hodnotu znaku na dané pozici.
- concat( řetezec1[, řetězec2 …]) – metoda připojí k řetězci, nad kterým je volána řetězce uvedené jako parametry:
var Retezec = "Ahoj, ".concat("jak se máte?")
- fixed( ) – metoda vrací řetězec doplněný o značky <TT> a </TT> značícími neproporcionální písmo.
- fontcolor(řetězcový_výraz) metoda vrací řetězec doplněný o značky <FONT> a </FONT> značící barevný text, kde barva je určena šesticí hexadecimálních číslic ve tvaru RGB nebo svým anglickým názvem, uvedeným jako parametr metody:
document.write("Jak se máte?".fontcolor("FF0000"))
je ekvivalentní:
<FONT COLOR="FF0000">Jak se máte?"</FONT>
- fontsize(číselný_výraz) metoda vrací řetězec doplněný o značky <FONT> a </FONT> značící velikost písma určenou parametrem metody:
document.write("Jak se máte?".fontsize(5))
je ekvivalentní:
<FONT SIZE="5">Jak se máte?</FONT>
- fromCharCode(číselný_výraz1[, číselný_výraz2 …]) – metoda vrací řetězec vytvořený ze znaků UNICODE specifikovaných číselnými_výrazy.
- indexOf(řetězcový_výraz [, číselný_výraz]) – metoda vrací pozici podřetězce určeného hodnotou prvního parametru, provádí se hledání od pozice určené hodnotou druhého parametru, metoda vrací -1, pokud nebyl podřetězec nalezen:
var Kde = "Ahoj!".indexOf("h")
var Kde2 = "Ahoj!".indexOf("h", 2)
- italics( ) – metoda vrací řetězec opatřený o značky <I> a </I> značící text psaný kurzívou.
- lastIndexOf(řetězcový_výraz [, číselný_výraz]) – metoda vrací pozici podřetězce určeného hodnotou prvního parametru, provádí se hledání pozpátku od posledního znaku prohledávaného řetězce od pozice určené hodnotou druhého parametru, metoda vrací -1, pokud nebyl podřetězec nalezen:
var Kde = "Ahoj!".lastIndexOf("h")
- link (řetězcový_výraz) – metoda vrací řetězec doplněný o značky <A> a </A> značící odkaz, parametrem metody je adresa odkazu:
document.write("Seznam".link("http:/www.seznam.cz"))
je ekvivalentní:
<A HREF="http:/www.seznam.cz">Seznam</A>
- match(regulární_výraz) – metoda slouží k prohledávání řetězce na podřetězce podle regulárního_výrazu – objektu RegExp, metoda vrací true, pokud byla úspěšná.
- replace(regulární_výraz, řetězcový_výraz) – metoda slouží k nahrazení podřetězců řetězcovým_výrazem, podřetězce jsou hledány stejným způsobem jako v metodě match.
- search(regulární_výraz) – metoda slouží k prohledání řetězce na podřetězce způsobem metody match, pokud je metoda search úspěšná, vrací index, kde hledaný podřetězec leží, jinak vrací –1.
- slice(číselný_výraz1, číselný_výraz2) – metoda vrací řetězec, který je podřetězcem původního, určeným číselnými_výrazy jako indexy:
var Podretezec = "Ahoj".slice(0,2)
- small( ) – metoda vrací řetězec doplněný o značky <SMALL> a </SMALL> značící malý text.
- split(řetězcový_výraz) – metoda rozdělí řetězec na podřetězy a vrátí je jako pole podřetězů, parametrem metody je řetězcový_výraz sloužící jako oddělovač jednotlivých podřetězců:
var Podretezce = "Jak se máte?".split(" ")
- strike( ) – metoda vrací řetězec doplněný o značky <STRIKE> a <STRIKE> značící přeškrtnutý text.
- sub( ) – metoda vrací řetězec doplněný o značky <SUB> a </SUB> značící text jako horní index.
- substr(číselný_výraz1, číselný_výraz2) – metoda vrací podřetězec řetězce původního určený dolním indexem (číselný_výraz1) a počtem znaků (číslený_výraz2).
var Podretezec = "Ahoj".substr(0,2)
- substring(číselný_výraz1, číselný_výraz2) – metoda vrací část řetězce určenou parametry jako dolním a horním indexem:
var Podretezec = "Ahoj!".substring(0,2)
- sup( ) – metoda vrací řetězec doplněný o značky <SUP> a </SUP> značící text jako dolní index.
- toLowerCase( ) – metoda vrací řetězec, kde velká písmena jsou zkonvertována na malá.
- toSource( ) – metoda vrací řetězec reprezentující zdrojový text objektu.
- toString( ) – metoda vrací řetězcovou hodnotu objektu.
- toUpperCase( ) – metoda vrací řetězec, kde malá písmena jsou zkonvertována na velká:
var VSECHNA_VELKA = "Jak se máte?".toUpperCase()
- valueOf( ) – metoda vrací řetězcovou hodnotu objektu.