--- title: Object.prototype.toSource() slug: Web/JavaScript/Reference/Global_Objects/Object/toSource translation_of: Web/JavaScript/Reference/Global_Objects/Object/toSource ---
Die toSource()
Methode liefert einen String der den Quellcode des Objekts representiert.
Object.toSource();
obj.toSource();
Ein String der den Quellcode des Objekts representiert.
Die toSource()
Methode liefer die folgenden Werte:
Für das eingebaute {{jsxref("Object")}} Objekt, liefert toSource() den folgenden String, welcher angibt, dass der Quellcode nicht verfügbar ist.
function Object() { [native code] }
toSource()
einen String der den Sourcecode representiert.toSource()
kann während der Entwicklung aufgerufen werden um die Inhalte eines Objekts zu inspizieren.
Es ist sicher die toSource() Methode zu überschreiben. Zum Beispiel:
function Person(name) { this.name = name; } Person.prototype.toSource = function Person_toSource() { return 'new Person(' + uneval(this.name) + ')'; }; console.log(new Person('Joe').toSource()); // ---> new Person("Joe")
Jeder Kern-JavaScript Typ hat seine eigene toSource()
Methode. Diese sind:
Math.toSource()
— Liefert den String "Math".Im Falle, dass Objekte auf sich selbst referenzieren, z.B.: eine zyklisch verbundene Liste oder ein Baum der beide wege durchquert, erstellt toSource()
nicht eine neue Selbst-Referenz. Dies passiert seit Firefox 24. Zum Beispiel:
var obj1 = {}; var obj2 = { a: obj1 }; obj1.b = obj2; console.log('Cyclical: ' + (obj1.b.a == obj1)); var objSource = obj1.toSource(); // returns "({b:{a:{}}})" obj1 = eval(objSource); console.log('Cyclical: ' + (obj1.b.a == obj1));
Wenn eine zyklische Struktur existiert und toSource()
benötigt wird, muss das Objekt eine überschriebene toSource() Methode besitzen. Entweder durch benützen einer Referenz zum Construktor oder einer anonymen Funktion.
Benutzen von toSource()
Der folgende Code defniert den "Dog" Objekt Typ und kreiert "theDog", welches ein Objekt des Typs "Dog" ist:
function Dog(name, breed, color, sex) { this.name = name; this.breed = breed; this.color = color; this.sex = sex; } theDog = new Dog('Gabby', 'Lab', 'chocolate', 'female');
Durch aufrufen der toSource()
Methode von "theDog"
liefert die JavaScript Quelle, welche das Objekt definiert.
theDog.toSource(); // returns ({name:"Gabby", breed:"Lab", color:"chocolate", sex:"female"})
Kein Teil eines Standards. Implementiert seit JavaScript 1.3.
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |