MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Diese Übersetzung ist in Arbeit.

Kein Standard
Diese Funktion entspricht nicht dem Standard und ist nicht Teil der Standardisierung. Diese Funktion darf nicht in Webseiten, die via das Internet zugänglich sind, benutzt werden: Sie wird nicht für alle Nutzer funktionieren. Es kann zu umfangreichen Inkompatibilitäten zwischen verschiedenen Implementierungen kommen und die Funktionsweise oder Eigenschaften könnten in der Zukunft verändert werden.

Die toSource() Methode liefert einen String der den Quellcode des Objekts representiert.

Object.toSource();
obj.toSource();

Zurückgelieferter Wert

Ein String der den Quellcode des Objekts representiert.

Beschreibung

Die toSource() Methode liefer die folgenden Werte:

Für das eingebaute Object Objekt, liefert toSource() den folgenden String, welcher angibt, dass der Quellcode nicht verfügbar ist.

  • function Object() {
        [native code]
    }
    
  • Für instanzen von Object, liefert toSource() einen String der den Sourcecode representiert.

toSource() kann während der Entwicklung aufgerufen werden um die Inhalte eines Objekts zu inspizieren.

Überschreiben der toSource() Methode

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")

Eingebaute toSource() Methoden

Jeder Kern-JavaScript Typ hat seine eigene toSource() Methode. Diese sind:

Limits bei zyklischen Objekten

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.

Beispiele

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"})

Spezifikationen

Kein Teil eines Standards. Implementiert seit JavaScript 1.3.

Browser Kompatibilität

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support Nicht unterstützt (Ja) ? ? ?
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? ? (Ja) ? ? ?

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: Christian2507
 Zuletzt aktualisiert von: Christian2507,