Drei Objekttypen von JavaScript: 1. Interne Objekte, einschließlich lokaler Objekte, die zur Verwendung instanziiert werden müssen, und integrierter Objekte, die ohne Instanziierung verwendet werden können. 2. Host-Objekte, bei denen es sich um Objekte handelt, die von der ausführenden Umgebung bereitgestellt werden JS-Skripte; 3. Benutzerdefinierte Objekte sind von Entwicklern selbst definierte Objekte.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Objekte in JavaScript können in drei Hauptkategorien unterteilt werden, nämlich interne Objekte (lokale Objekte und integrierte Objekte), Hostobjekte und benutzerdefinierte Objekte.
1, interne Objekte
1), lokale Objekte, von ECMAScript bereitgestellte Objekte, die instanziiert (neu) werden müssen, bevor sie verwendet werden können:
Objekt, Funktion, Array, String, Boolean, Zahl , Date, RegExp , Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError
2), integrierte Objekte, von ECMAScript bereitgestellte Objekte, die ohne Instanziierung verwendet werden können:
Nur Global (globales Objekt) und Math
Mathe-Objekteigenschaften
Eigenschaft | Beschreibung |
---|---|
E | Gibt die arithmetische Konstante e zurück, die Basis des natürlichen Logarithmus (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 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. |
rund(x) | Rundung. |
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. |
JavaScript globale Eigenschaften
Property | Description |
---|---|
Infinity | stellt einen positiven Unendlichkeitswert dar. |
NaN | gibt an, ob ein Wert ein numerischer Wert ist. |
undefiniert | gibt einen undefinierten Wert an. |
Globale JavaScript-Funktion
Funktion | Beschreibung |
---|---|
decodeURI() | Dekodieren Sie einen codierten URI. |
decodeURIComponent() | Decodieren Sie eine codierte URI-Komponente. |
encodeURI() | Kodieren Sie eine Zeichenfolge in einen URI. |
encodeURIComponent() | Kodieren Sie eine Zeichenfolge in eine URI-Komponente. |
escape() | Kodieren Sie eine Zeichenfolge. |
eval() | Berechnet einen JavaScript-String und führt ihn als Skriptcode aus. |
isFinite() | Prüft, ob ein Wert eine endliche Zahl ist. |
isNaN() | Prüft, ob ein Wert eine Zahl ist. |
Number() | Konvertieren Sie den Wert des Objekts in eine Zahl. |
parseFloat() | Parsen Sie einen String und geben Sie einen Float zurück. |
parseInt() | Parsen Sie eine Zeichenfolge und geben Sie eine Ganzzahl zurück. |
String() | Konvertieren Sie den Wert des Objekts in einen String. |
unescape() | Dekodiert eine durch escape() codierte Zeichenfolge. |
2. Host-Objekt
Das Host-Objekt ist das von der Umgebung bereitgestellte Objekt, das das JS-Skript ausführt, und das vom Browser bereitgestellte Objekt. Alle Stücklisten und DOMs sind Hostobjekte. 3. Benutzerdefinierte Objekte. Von den Entwicklern selbst definierte Objekte.
⑵Werksmodus. ①Das Fabrikmuster 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 für jede 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 Freigabe 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 Modi
①Dynamischer Prototypmodus: Nur wenn der Konstruktor zum ersten Mal aufgerufen wird, wird die Methode der entsprechenden Eigenschaft des Prototypobjekts zugewiesen. Andere Beispiele werden genauso behandelt wie der Konstruktormodus
②Parasite-Konstruktor Modus: Kapseln Sie nur den Code, der das Objekt erstellt, und geben Sie dann das neu erstellte Objekt zurück. Verwenden Sie weiterhin den neuen Operator zum Aufrufen.
③Sicherer Konstruktormodus: keine öffentlichen Eigenschaften, nur private Variablen und Methoden sowie einige zu verarbeitende Get/Set-Methoden private Variablen.
【Verwandte Empfehlungen:
Javascript-Lern-Tutorial】Das obige ist der detaillierte Inhalt vonWelche drei Arten von JavaScript-Objekten gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!