Heim > Artikel > Web-Frontend > Verschiedene Objektbeziehungen in JS
Ein Bild ermöglicht es Ihnen, die Beziehung zwischen verschiedenen Arten von Javascript zu verstehen
Dieses Bild stammt von Seite P184 von Kapitel 3 von „The Essence of JavaScript Language and Programming Practice“. Vor kurzem überarbeite ich die zweite Version. Sie können bei Bedarf darauf zurückgreifen.
Fügen Sie außerdem die im Bild verwendeten Konzepte hinzu:
1. Gebaut -in Der Unterschied zwischen (eingebauten) Objekten und nativen (naiven) Objekten besteht darin, dass erstere immer während der Engine-Initialisierungsphase erstellt werden und eine Teilmenge der letzteren sind, während letztere einige Objekte enthalten, die während der Ausführung dynamisch erstellt werden Prozess.
2. Engine-Erweiterungsobjekte sind im Allgemeinen eine nicht allzu große Menge, sie sind relativ sicher und auch nativ Engine. Objekt (jedoch kein natives Objekt der ECMA-Spezifikation).
3. Das Hostobjekt ist kein natives Objekt der Engine, sondern ein Objekt, das vom Host-Framework in der JavaScript-Engine registriert wird durch irgendeinen Mechanismus.
4. Einige Hosts nennen die von ihnen bereitgestellten Objekte/Konstruktoren auch „native Objekte“, wie z. B. das Internet Explorer 7 ruft die von ihm bereitgestellte XMLHttpRequest() nativ auf – im Gegensatz zu den Objekten, die in früheren Versionen mit Methoden wie „new ActiveXObject('Microsoft.XMLHTTP')“ erstellt wurden. In diesem Fall sollten die Leser den Unterschied zwischen „nativen Objekten des Hosts“ und „nativen Objekten der Engine“ beachten.
Nachdruck von: http://www.w3cfuns.com/thread-5594427-1-1.html
Lokale JavaScript-Objekte, integrierte Objekte, Hostobjekte
Natives Objekt (erfordert NEU)
ECMA-262 definiert natives Objekt als „ECMAScript, das von der Hostumgebung unabhängig ist“. Implementieren Sie das bereitgestellte Objekt.
Objekt, Funktion, Array, String, Boolescher Wert, Zahl, Datum, RegExp, Fehler, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError, ActiveXObject (Server), Enumerator (Collection-Traversal-Klasse), RegExp ( Regulärer Ausdruck)
Es ist ersichtlich, dass lokale Objekte vereinfacht gesagt Klassen (Referenztypen) sind, die durch ECMA-262 definiert sind.
Eingebaute Objekte (keine NEUE direkte Referenz – nur MATH GLOBAL)
ECMA-262 integriertes Objekt) ist definiert als „alle von einer ECMAScript-Implementierung bereitgestellten Objekte, unabhängig von der Hostumgebung, die angezeigt werden, wenn die Ausführung eines ECMAScript-Programms beginnt.“ Dies bedeutet, dass der Entwickler das integrierte Objekt nicht explizit instanziieren muss, es ist bereits instanziiert.
Es ist auch „unabhängig von der Host-Umgebung“. Der Definition zufolge scheint es schwierig zu sein, den Unterschied zwischen „eingebauten Objekten“ und „lokalen Objekten“ zu unterscheiden. ECMA-262 definiert nur zwei integrierte Objekte, nämlich Global und Math (sie sind auch lokale Objekte und per Definition ist jedes integrierte Objekt ein lokales Objekt).
Das ist verständlich. Integrierte Objekte sind eine Art lokale Objekte. Unter den beiden darin enthaltenen Objekten verwenden wir oft das Math-Objekt, aber was ist dieses globale Objekt?
Das Global-Objekt ist das speziellste Objekt in ECMAScript, weil es tatsächlich überhaupt nicht existiert! In ECMAScript gibt es keine unabhängigen Funktionen, alle Funktionen müssen Methoden eines Objekts sein.
Ähnlich wie die Methoden isNaN(), parseInt() und parseFloat() scheinen sie alle Funktionen zu sein, aber tatsächlich sind sie alle Methoden des globalen Objekts. Und die Methoden des globalen Objekts hören hier nicht auf. Zu den spezifischen Methoden und Eigenschaften des Global-Objekts können interessierte Studierende hier einen Blick werfen: JavaScript Referenzhandbuch für globale Objekte
Hostobjekt (BOM DOM & benutzerdefiniertes Objekt)
Was ist ein „Hostobjekt“? Der „Host“ in ECMAScript ist natürlich die laufende Umgebung unserer Webseite, also das „Betriebssystem“ und der „Browser“. Alle nicht nativen Objekte sind Hostobjekte, also Objekte, die von der Hostumgebung der ECMAScript-Implementierung bereitgestellt werden.
Alle BOM- und DOM-Objekte sind Host-Objekte. Weil es unterschiedliche Inhalte für unterschiedliche „Host“-Umgebungen anzeigt. Um es ganz klar auszudrücken: Die von ECMAScript nicht offiziell definierten Objekte gehören zum Hostobjekt, da die meisten undefinierten Objekte vom ECMAScript-Programm erstellte Objekte sind. TML DOM ist ein W3C-Standard (die Abkürzung für HTML Document Object Model, Document Object Model für HTML).
HTML DOM definiert einen Standardsatz von Objekten für HTML sowie Standardmethoden für den Zugriff auf und die Verarbeitung von HTML-Dokumenten.
Über das DOM können Sie auf alle HTML-Elemente sowie den darin enthaltenen Text und die Attribute zugreifen. Der Inhalt kann geändert und gelöscht werden, außerdem können neue Elemente erstellt werden.
DHTML DOM ist plattform- und programmiersprachenunabhängig. Es kann von jeder Programmiersprache wie Java, JavaScript und VBScript verwendet werden.
Klicken Sie auf den Link unten, um mehr darüber zu erfahren, wie Sie mit JavaScript auf DOM-Objekte zugreifen und diese bearbeiten können:
DOM-Objekte:
Dokument stellt das gesamte HTML-Dokument dar und wird verwendet, um auf alle Elemente auf der Seite zuzugreifen. Ankervertreter