×
COOKIES
Prezeraním tejto stránky dochádza k spracovaniu cookies. Spracovaniu cookies zabránite v nastaveniach internetového prehliadača alebo nezobrazovaním tejto stránky v internetovom prehliadači.
Vytvárame riešenia

Ako zobraziť obsah objektu v JavaScripte

Každého začínajúceho programátora skôr či neskôr stretne problém, ako zobraziť obsah objektu. Pri aplikovaní často používaného zápisu document.write() je výsledkom text [object Object]. V rámci good practices programátori zápis document.write() nepoužívajú. Tí pracujú len s konzolou. Pre vloženie obsahu do dokumentu HTML sa namiesto document.write() používajú vlastnosti a metódy DOM.
Ale vráťme sa späť k zobrazeniu obsahu objektu. To je možné vykonať viacerými spôsobmi. Jedným z nich je aj prechádzanie objektu prostredníctvom cyklu for in.
Príklad: Vytvorenie objektu s vlastnosťou property a metódou method.
1
2
3
4
5
6
var Obj = {
property: 1,
method: function objectMethod() {
console.log(this.property);
}
};
Cyklus for in obsahuje dve premenné. Do prvej premennej, ktorá môže mať ľubovolný platný názov, sa budú ukladať nájdené vlastnosti a metódy objektu. Objekt, ktorý má byť prehľadávaný, je zadaný ako druhý (pravý) operand za operátorom in.
Príklad: Výpis obsahu objektu cez cyklus for in.
1
2
3
for (var property in Obj) {
console.log(property + ": " + Obj[property]);
}
Príklad: Odporúčaný zápis cyklus for in.
1
2
3
4
5
var property;
for (property in Obj) {
console.log(property + ": " + Obj[property]);
}
V prípade, že niektorá vlastnosť objektu je ďalší objekt, je potrebné vykonať rekurziu. V takomto prípade je potrebné zisťovať dátový typ vlastnosti napríklad cez operátor typeof. V prípade používania niektorej z JavaScriptových knižníc príslušnú metódu.
Okrem cyklu for in sú k dispozícii aj dve metódy objektu console. Ich použitie je rýchlejšie a výstup je prehľadnejší. Vďaka metódam objektu console nie je potrebné zasahovať do programového kódu. Stačí ktorúkoľvek z nich len zapísať do konzoly. Výstup je navyše možné prechádzať, zbaľovať a rozbaľovať. Konzola je súčasťou Developer Tools v internetovom prehliadači. Zapísať do konzoly je samozrejme možné aj cyklus for in.
Príklad: Metódy log() a dir() objektu console.
1
2
console.log(Obj);
console.dir(Obj);

Ktorý spôsob je lepší?

Výhodou prechádzania objektu cez príkaz for in je možnosť výpisu obsahu metód. Nevýhodou je, že nie je vidieť aké ostatné vlastnosti a metódy objekt obsahuje (napr. hasOwnProperty(), isPrototypeOf(), toString() a ďalšie). Pri zobrazení obsahu objektu cez objekt console zase nie je vidieť obsah metód. Z hľadiska efektívnosti je vhodnejšie používať metódy objektu console.

Záver

V článku boli predstavené viaceré spôsoby výpisu obsahu objektu v jazyku JavaScript. Na záver len dodám, že staršie internetové prehliadače konzolu neobsahujú.
Autor: Matej Lednár
Dátum: 30.12.2012
Kategória: JavaScript
Značky:
programovanie, javascript, oop, for in, console, console log, console dir


JavaScript,programovanie,JavaScript,OOP,for in,console,console log,console dir
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších