Frage

Wenn ich Javascript schreibe, benutze ich window.alert () zu debuggen. Normalerweise gebe ich Variablen Alarm und es erscheint mit einem String mit diesem Variablen Wert. Wenn ich jedoch Alarm ein Objekt übergeben, es sagt mir den Typ des Objekts. Zum Beispiel:

var form = document.getElementById("my_form");
alert(form); // returns [object HTMLFormElement]

Das Bit, das Teil, das [object bla bla] sagt. Was Eigenschaft ist das? Ich habe meine eigenen Objekte machen verkapseln nützliche Teile der Seite arbeite ich an vor kurzem begonnen ... aber wenn ich meine eigenen Objekte Alarm geben es gibt mir die allgemeine Meldung [object Object], was nicht sehr hilfreich ist, wenn ich eine Reihe von verschiedenen Arten von Objekt gemacht. Ich würde es vorziehen, zum Beispiel, mein Objekt mir etwas mehr entlang der Linien von [Objekt My_Object] zurückzukehren.

Gibt es eine Eigenschaft I in Funktion My_Object einstellen (), der Alarm wird sagen, was ich will es mir sagen?

Danke!

z.

War es hilfreich?

Lösung

Versuchen „toString ()“ der Klasse Prototyp neu zu definieren: es wird benutzt, um einen String Typ eines Objekts zu erstellen. Standard es ist [object <type>], aber das ist nicht das, was Sie wollen, es ist.

Obwohl „, können Sie diese Methode überschreiben für benutzerdefinierte Objekte, die Sie erstellen. Wenn Sie nicht toString in einem benutzerdefinierten Objekt außer Kraft setzen, toString kehrt [object type], wo Art der Objekttyp oder der Name der Konstruktor-Funktion, die das Objekt erstellt hat . ", http://www.synchro.net/docs/js /ref/object.html#1193350

Andere Tipps

Sie müssen die toString() Methode überschreiben. Andernfalls wird Object.prototype.toString verwendet, die zurück "[object Foo]", wo Foo der Wert der internen (dh nicht zugänglich) Klasse-Eigenschaft des Objekts.

Statt mit Alarm von Debuggen (), können Sie unter Firebug und hervorragendem Web-Entwicklungs-Tool aussehen sollen, mit einem besseren HTML Inspektion, Javascript Debugging und andere Leckereien.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top