Heim > Artikel > Web-Frontend > Welche drei Objekttypen gibt es in JavaScript?
Drei Arten von Objekten in JavaScript: 1. Interne (Satz-)Objekte wie Array-, Boolean-, Daten-, Mathematik-, Zahlen-, Objekt-, RegExp-, String-Objekte usw.; 2. Host-Objekte, die von bereitgestellt werden 3. Benutzerdefinierte Objekte.
Die Betriebsumgebung dieses Tutorials: Windows7-System, Javascript-Version 1.8.5, Dell G3-Computer
In JS können Objekte in „interne Objekte“ unterteilt werden. Hostobjekte“ und Es gibt drei Arten von „benutzerdefinierten Objekten“.
Wie im Bild gezeigt:
⑴Zahlenobjekt
⑵Mathe: Integriertes Objekt
Math-Objekteigenschaften
Eigenschaften | Beschreibung |
---|---|
E | Gibt die arithmetische Konstante e zurück, die die Basis des natürlichen Logarithmus ist (ungefähr gleich 2,718). |
LN2 | Gibt den natürlichen Logarithmus von 2 zurück (ungefähr gleich 0,693). |
LN10 | Gibt den natürlichen Logarithmus von 10 zurück (ungefähr gleich 2,302). |
LOG2E | Gibt den Logarithmus zur Basis 2 von e zurück (ungefähr 1,4426950408889634). |
LOG10E | Gibt den Logarithmus zur Basis 10 von e zurück (ungefähr gleich 0,434). |
PI | Gibt Pi zurück (ungefähr gleich 3,14159). |
SQRT1_2 | Gibt den Kehrwert der Quadratwurzel von 2 zurück (ungefähr gleich 0,707). |
SQRT2 | Gibt die Quadratwurzel von 2 zurück (ungefähr 1,414). |
Math-Objektmethoden
Methode | Beschreibung |
---|---|
abs(x) | Gibt den absoluten Wert von x zurück. |
acos(x) | Gibt den Arkuskosinus von x zurück. |
asin(x) | Gibt den Arkussinus von x zurück. |
atan(x) | Gibt den Arkustangens von x als Wert zwischen -PI/2 und PI/2 Bogenmaß zurück. |
atan2(y,x) | Gibt den Winkel von der x-Achse zum Punkt (x,y) zurück (zwischen -PI/2 und PI/2 Bogenmaß). |
ceil(x) | Rundet den Logarithmus auf. |
cos(x) | gibt den Kosinus der Zahl zurück. |
exp(x) | Gibt den Exponenten von Ex zurück. |
floor(x) | Rundet x ab. |
log(x) | Gibt den natürlichen Logarithmus der Zahl (Basis e) zurück. |
max(x,y,z,...,n) | Gibt den höchsten Wert unter x,y,z,...,n zurück. |
min(x,y,z,...,n) | Gibt den niedrigsten Wert unter x,y,z,...,n zurück. |
pow(x,y) | Gibt x hoch y zurück. |
random() | Gibt eine Zufallszahl zwischen 0 und 1 zurück. |
runden(x) | Aufrunden. |
sin(x) | Gibt den Sinus der Zahl zurück. |
sqrt(x) | Gibt die Quadratwurzel einer Zahl zurück. |
tan(x) | Gibt den Tangens des Winkels zurück. |
⑶Boolesches Objekt
Boolesche Objekteigenschaften
Eigenschaften | Beschreibung |
---|---|
Konstruktor | . Referenz zur booleschen Funktion |
Prototyp | Bietet Ihnen die Möglichkeit zum Hinzufügen Eigenschaften und Methoden für Objekte. |
Boolesche Objektmethode
Methode | Beschreibung |
---|---|
toString() | Konvertieren Sie den booleschen Wert in einen String und geben Sie das Ergebnis zurück. |
valueOf() | Gibt den ursprünglichen Wert des booleschen Objekts zurück. |
⑷String-Objekt
String-Objekteigenschaften
Eigenschaften | Beschreibung | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Konstruktor | Paarerstellung Ein Verweis auf die Funktion des Objekts | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Länge | Zeichen Die Länge der Zeichenfolge (Prototyp) ermöglicht es Ihnen, dem Objekt Eigenschaften und Methoden hinzuzufügen String-Objektmethode
⑸RegExp-Objekt RegExp-Objektmethode
Methoden von String-Objekten, die reguläre Ausdrücke unterstützen
RegExp-Objekteigenschaften
stellt einen positiven Unendlichkeitswert dar. NaN gibt an, ob ein Wert ein numerischer Wert ist.
⑺Datumsobjekt Datumsobjekteigenschaften
Date-Objektmethoden
⑻Objektobjekt ⑼Array-Objekt ⑽Funktionsobjekt Verschiedene Fehlerklassenobjekte: . ⑴Error ⑵EvalError ⑶RangeError ⑷ReferenceError ⑸SyntaxError ⑹TypeError JS-Hostobjekt⑴ Definition: Das Hostobjekt ist das von der Umgebung bereitgestellte Objekt, das das JS-Skript ausführt. ⑵ Browserobjekt: Für in eine Webseite eingebettetes JS ist das Hostobjekt das vom Browser bereitgestellte Objekt. Daher wird es auch als Browserobjekt bezeichnet, z. B. die von Browsern wie IE und Firefox bereitgestellten Objekte. ⑶ Hinweis: Verschiedene Browser stellen möglicherweise unterschiedliche Hostobjekte bereit. Auch wenn die bereitgestellten Objekte gleich sind, sind ihre Implementierungsmethoden sehr unterschiedlich! Dies führt zu Problemen mit der Browserkompatibilität und erhöht die Entwicklungsschwierigkeiten. ⑷ Beispiele für Hostobjekte: Fenster, Navigator, Dokument usw. ⑸ Browser-Erweiterungsobjekte: Aktiv, XML, Debug, Skript, VBArray usw. Benutzerdefinierte JS-Objekte⑴ Objektliteralmodus ( (Objekte über JSON erstellen) Nachteile: Die Verwendung derselben Schnittstelle zum Erstellen vieler Objekte führt zu einer Menge doppeltem Code. ⑵Werksmodus. ①Factory-Muster besteht darin, die Anweisung zum Erstellen eines Objekts in eine Funktion einzufügen, ein bestimmtes Objekt durch Übergabe von Parametern zu erstellen und schließlich das erstellte Objekt zurückzugeben. Die Funktion createPerson() kann basierend auf den empfangenen Parametern ein Person-Objekt erstellen, das alle notwendigen Informationen enthält. Diese Funktion kann unzählige Male aufgerufen werden und jedes Mal gibt sie ein Objekt zurück, das zwei Eigenschaften und eine Methode enthält. ② Nachteile: Obwohl das Factory-Muster mehrere ähnliche Objekte erstellen kann, kann es das Problem der Objektidentifizierung, also der Ermittlung des Objekttyps, nicht lösen. ⑶ Konstruktormuster ① Nachteile: Das Hauptproblem bei der Verwendung von Konstruktoren besteht darin, dass jede Methode einmal auf jeder Instanz erstellt werden muss. ②In ECMAScript sind Funktionen Objekte, sodass jedes Mal, wenn eine Funktion definiert wird, ein Objekt instanziiert wird. ③ Mit anderen Worten, die Methoden mehrerer über den Konstruktor instanziierter Objekte sind mehrere unterschiedliche Methoden, aber ihre internen Codes und implementierten Funktionen sind gleich, was zu einer gewissen Ressourcenverschwendung führt. ⑷Prototypmuster ①In js hat jede Funktion ein Prototypattribut, bei dem es sich um einen Zeiger handelt, der auf ein Objekt zeigt, das als Prototypobjekt bezeichnet wird. ②Durch die Verwendung des Prototypmusters können alle Instanzen die Eigenschaften und Methoden im Prototypobjekt gemeinsam nutzen, d. h. es besteht keine Notwendigkeit, die Informationen der Objektinstanz im Konstruktor zu definieren. ③Nachteile: Die Verknüpfung der Übergabe von Initialisierungsparametern an den Konstruktor entfällt. Dadurch erhalten alle Instanzen standardmäßig die gleichen Attributwerte. Das größte Problem mit dem Prototypmuster wird durch seine gemeinsame Natur verursacht. Alle Eigenschaften im Prototyp werden von vielen Instanzen gemeinsam genutzt. Diese Art der gemeinsamen Nutzung eignet sich sehr gut für Funktionen. Bei Eigenschaften, die Referenztypen enthalten, ist das Problem stärker ausgeprägt. ④ Daher wird der Prototypenmodus selten allein verwendet. ⑸Kombinierte Verwendung von Konstruktormuster und Prototypmuster①Die kombinierte Verwendung von Konstruktormuster und Prototypmuster ist die gebräuchlichste Methode zum Erstellen benutzerdefinierter Typen. ②Das Konstruktormuster wird zum Definieren von Instanzeigenschaften verwendet, während das Prototypmuster zum Definieren von Methoden und gemeinsamen Eigenschaften verwendet wird. ③ Dadurch verfügt jede Instanz über eine eigene Kopie der Instanzattribute, teilt aber gleichzeitig Referenzen auf Methoden, wodurch maximal Speicherplatz gespart wird. ⑹Andere Muster①Dynamisches Prototypmuster: Nur beim ersten Aufruf des Konstruktors wird die Methode der entsprechenden Eigenschaft des Prototypobjekts zugewiesen. Andere Beispiele werden auf die gleiche Weise wie das Konstruktormuster behandelt ②Parasit-Konstruktormuster: Kapselt nur den Code, der das Objekt erstellt, und gibt dann das neu erstellte Objekt zurück, wobei weiterhin der neue Operator zum Aufrufen verwendet wird. ③Sicherer Konstruktormodus: keine öffentlichen Eigenschaften, nur private Variablen und Methoden sowie einige Get/Set-Methoden zur Verarbeitung privater Variablen.
|
Das obige ist der detaillierte Inhalt vonWelche drei Objekttypen gibt es in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!