logosrpen.gif (3014 bytes)JScript
Namodro


Objekty v JScriptu

 

Co jsou objekty?

V JScriptu chápeme objekty jako kolekci atributů a metod. Atributy jsou vlastnosti a metody funkce, které s těmito vlastnostmi pracují. Atributy a metody jsou vlastnictvím objektu (pozn. protože JScript není pravý objektově orientovaný jazyk, nebudu zde vysvětlovat objektové principy. Ty lze vyhledat v literatuře o takových jazycích jako jsou C++ nebo Java).

JScript podporuje tři druhy objektů.

  • intrinsické objekty
  • programátorem definované
  • browser objekt
Objekty jako pole

K objektům se podle definice jazyka přistupuje stejně jako k polím. K vlastnosti objektu lze přistupovat buď použitím jejího jména (ve formě jméno_objektu.jméno_vlastnosti ), nebo pomocí indexu v poli atributů, který se automaticky vytvoří při inicializaci objektu. V JScriptu obecně platí, že se indexuje od 0. Jako doplňující možnost se lze k vlatnosti objektu odkázat místo číslem indexu jejím jménem. Následují všechny možnosti, jsou navzájem plně ekvivalentní.

sirka = objekt.sirka;
sirka = objekt[3]; // sirka je 4-tou vlastností objektu
sirka = objekt[ "sirka" ];

Tento přístup není dovolen :

sirka = objekt.3;

Pokud má objekt jako jednu z vlastností další objekt, může vypadat zápis třeba takhle :

var neco = objekt1.Vlastnost1[4].substring(0,1);

Skutečnost, že vlastností objektu může být jiný objekt, lze s úspěchem využít pro generování vícerozměrných polí. Viz. další příklad, kde definujeme pole 10x10.

var tab = new Array(10);
for (var i=0; i<tab.length; i++) {
    var radek="new" Array(10);
    for(var j="0;" j<radek.length; j++) {
        radek[j]="(j" + " x " + i + "=" + i*j);
    }
    tab[i] = radek;
}

Vygenerovali jsme tabulku s malou násobilkou. Pro zjištění hodnoty např. 3x8 přečteme hodnotu z tabulky:

var vysledek = tab[3][8];

Na vícerozměrné pole se nelze odkazovat takto :

var vysledek = tab[3, 8];

 

Obsah

Předchozí (funkce)

Další (klíčová slova)


(c) Svět Namodro, všechna práva vyhrazena, kontaktní informace