Welche drei Arten von JavaScript-Objekten gibt es?

青灯夜游
Freigeben: 2021-11-24 18:17:02
Original
5922 Leute haben es durchsucht

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.

Welche drei Arten von JavaScript-Objekten gibt es?

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage