From 4b1a9203c547c019fc5398082ae19a3f3d4c3efe Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:41:15 -0500 Subject: initial commit --- .../global_objects/object/tosource/index.html | 169 +++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 files/de/web/javascript/reference/global_objects/object/tosource/index.html (limited to 'files/de/web/javascript/reference/global_objects/object/tosource/index.html') diff --git a/files/de/web/javascript/reference/global_objects/object/tosource/index.html b/files/de/web/javascript/reference/global_objects/object/tosource/index.html new file mode 100644 index 0000000000..d7c7bcf93a --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/object/tosource/index.html @@ -0,0 +1,169 @@ +--- +title: Object.prototype.toSource() +slug: Web/JavaScript/Reference/Global_Objects/Object/toSource +translation_of: Web/JavaScript/Reference/Global_Objects/Object/toSource +--- +
{{JSRef}} {{non-standard_header}}
+ +

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 {{jsxref("Object")}} Objekt, liefert toSource() den folgenden String, welcher angibt, dass der Quellcode nicht verfügbar ist.

+ + + +

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

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatNo}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Siehe auch

+ + -- cgit v1.2.3-54-g00ecf