MC, 13:19 czwartek, 07.02.2013 r.
Ilustracja do artykułu: JavaScript - Jak wykonać zrzut obiektu, czyli implementacja var_dump() z PHP

JavaScript - Jak wykonać zrzut obiektu, czyli implementacja var_dump() z PHP

Spróbujmy w JavaScript zaimplementować prostą funkcję wyświetlającą wszystkie elementy składowe obiektu, czyli coś na kształt funkcji var_dump() znanej z PHP.

Jaki zrzut? Po co zrzut?

W JavaScript braki funkcji działającej podobnie do var_dump() z PHP, odczuwałem zazwyczaj w kontekście pracy z zewnętrznymi bibliotekami, w których częstokroć używane były obiekty o tajemnej dla mnie postaci. Oczywiście można szukać w dokumentacji jaki obiekt za co odpowiada i jakie wartości przechowuje, ale nie zawsze jest na to czas, nie zawsze taka dokumentacja istnieje, nie zawsze nawet chce się jej szukać, tym bardziej że ma się świadomość tego, że można to sprawdzić szybciej. Stąd pomysł na implementację funkcji var_dump(), która udzieli odpowiedzi na pytanie o budowę wskazanego obiektu. Kod przedstawiony w kolejnym opieram w znacznej mierze na postach znalezionych na stackoverflow.com.

No dobrze... to jak taka funkcja może wyglądać?

Najprościej oczywiście zbudować funkcję, która dla wskazanego obiektu przeleci przez wszystkie jego właściwości i wylistuje je wraz z ich wartościami. Ja preferuję rozwiązanie, w którym informacje te zostaną podane w postaci alertu, ale można tę formę dowolnie modyfikować do własnych potrzeb. Funkcja taka może wyglądać następująco:
function var_dump(object) {
var dump = "";
for (var property in object) {
dump += property + ": " + object[property] + "\n";
}

alert(dump);
}

Przy czym wywołanie tej funkcji oczywiście wymaga jedynie podania jako argumentu interesującego nas obiektu:

var_dump(jakisObiekt);

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: