Heim  >  Artikel  >  Web-Frontend  >  Welche drei Objekttypen gibt es in JavaScript?

Welche drei Objekttypen gibt es in JavaScript?

青灯夜游
青灯夜游Original
2021-06-15 16:40:573381Durchsuche

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.

Welche drei Objekttypen gibt es in JavaScript?

Die Betriebsumgebung dieses Tutorials: Windows7-System, Javascript-Version 1.8.5, Dell G3-Computer

JS drei Arten von Objekten

In JS können Objekte in „interne Objekte“ unterteilt werden. Hostobjekte“ und Es gibt drei Arten von „benutzerdefinierten Objekten“.

Wie im Bild gezeigt:

Internes Objekt

⑴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

Methode Beschreibung
charAt() Gibt das Zeichen an der angegebenen Position zurück.
charCodeAt() Gibt die Unicode-Kodierung des Zeichens an der angegebenen Position zurück.
concat() Verkettet zwei oder mehr Zeichenfolgen und gibt eine neue Zeichenfolge zurück.
fromCharCode() Konvertieren Sie die Unicode-Kodierung in Zeichen.
indexOf() Gibt die Position zurück, an der ein angegebener Zeichenfolgenwert zum ersten Mal in der Zeichenfolge erscheint.
includes() Finden Sie heraus, ob die angegebene Teilzeichenfolge in der Zeichenfolge enthalten ist.
lastIndexOf() Durchsuchen Sie die Zeichenfolge von hinten nach vorne und berechnen Sie das letzte Vorkommen der zurückgegebenen Zeichenfolge ausgehend von der Startposition (0).
match() Find findet eine Übereinstimmung für einen oder mehrere reguläre Ausdrücke.
repeat() Kopieren Sie die Zeichenfolge eine bestimmte Anzahl von Malen, verketten Sie sie und kehren Sie zurück.
replace() Suchen Sie passende Teilzeichenfolgen in einer Zeichenfolge und ersetzen Sie die Teilzeichenfolgen, die dem regulären Ausdruck entsprechen.
search() Suchen Sie nach Werten, die einem regulären Ausdruck entsprechen.
slice() Extrahiert ein Fragment einer Zeichenfolge und gibt den extrahierten Teil in einer neuen Zeichenfolge zurück.
split() Teilen Sie einen String in ein Array von Strings.
startsWith() Überprüfen Sie, ob die Zeichenfolge mit der angegebenen Teilzeichenfolge beginnt.
substr() Extrahiert die angegebene Anzahl von Zeichen aus der Zeichenfolge ab der Startindexnummer.
substring() Extrahiert die Zeichen zwischen zwei angegebenen Indexnummern in der Zeichenfolge.
toLowerCase() Konvertieren Sie die Zeichenfolge in Kleinbuchstaben.
toUpperCase() Konvertieren Sie eine Zeichenfolge in Großbuchstaben.
trim() Entfernen Sie das Leerzeichen auf beiden Seiten der Zeichenfolge.
toLocaleLowerCase() Konvertieren Sie die Zeichenfolge entsprechend dem Gebietsschema des lokalen Hosts in Kleinbuchstaben.
toLocaleUpperCase() Konvertieren Sie die Zeichenfolge entsprechend dem Gebietsschema des lokalen Hosts in Großbuchstaben.
valueOf() Gibt den ursprünglichen Wert eines String-Objekts zurück.
toString() Gibt einen String zurück.

⑸RegExp-Objekt

RegExp-Objektmethode

.
Methode Beschreibung
compileIn Version 1.5 veraltet. Kompilieren Sie reguläre Ausdrücke.
exec Ruft den in einer Zeichenfolge angegebenen Wert ab. Gibt den gefundenen Wert zurück und bestimmt seine Position.
test Ruft den in einer Zeichenfolge angegebenen Wert ab. Gibt wahr oder falsch zurück.
toString Gibt die Zeichenfolge des regulären Ausdrucks zurück.

Methoden von String-Objekten, die reguläre Ausdrücke unterstützen

Methode Beschreibung FF IE
Suchwert 1 4
match Finden Sie eine Übereinstimmung für einen oder mehrere reguläre Ausdrücke. 1 4
replace Ersetzen Sie den Teilstring, der dem regulären Ausdruck entspricht. 1 4
split Teilen Sie eine Zeichenfolge in ein Array von Zeichenfolgen auf. 1 4

RegExp-Objekteigenschaften

JavaScript globale EigenschaftenEigenschaftBeschreibungUnendlichkeit
property description
constructor Gibt eine Funktion zurück, die einen RegExp erstellt Prototyp des Objekts.
global Bestimmen Sie, ob der Modifikator „g“ gesetzt ist.
ignoreCase Bestimmen Sie, ob der Modifikator „i“ gesetzt ist
multiline Bestimmen Sie, ob der Modifikator „m“ festgelegt ist

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.

⑺Datumsobjekt

Datumsobjekteigenschaften

Eigenschaft Beschreibung
Konstruktor Ein Verweis auf die Datumsfunktion, die dieses Objekt erstellt hat.
prototype bietet Ihnen die Möglichkeit, Objekten Eigenschaften und Methoden hinzuzufügen.

Date-Objektmethoden

Methode Description
getDate() Gibt den Tag des Monats (1 ~ 31) aus dem Date-Objekt zurück.
getDay() Gibt den Wochentag (0 ~ 6) aus dem Date-Objekt zurück.
getFullYear() Gibt das Jahr als vierstellige Zahl aus einem Date-Objekt zurück.
getHours() Gibt die Stunden (0 ~ 23) des Date-Objekts zurück.
getMilliseconds() Gibt die Millisekunden (0 ~ 999) des Date-Objekts zurück.
getMinutes() Gibt die Minuten (0 ~ 59) des Date-Objekts zurück.
getMonth() Gibt den Monat (0 ~ 11) aus dem Date-Objekt zurück.
getSeconds() Gibt die Anzahl der Sekunden (0 ~ 59) des Date-Objekts zurück.
getTime() Gibt die Anzahl der Millisekunden seit dem 1. Januar 1970 zurück.
getTimezoneOffset() Gibt die Minutendifferenz zwischen Ortszeit und Greenwich Mean Time (GMT) zurück.
getUTCDate() Gibt den Tag des Monats (1 ~ 31) aus dem Date-Objekt basierend auf der Weltzeit zurück.
getUTCDay() Gibt den Wochentag (0 ~ 6) aus dem Date-Objekt basierend auf der Weltzeit zurück.
getUTCFulYear() Gibt das vierstellige Jahr aus einem Date-Objekt basierend auf der Weltzeit zurück.
getUTCHours() Gibt die Stunde (0 ~ 23) des Date-Objekts gemäß der Weltzeit zurück.
getUTCMilliseconds() Gibt die Millisekunden (0 ~ 999) des Date-Objekts gemäß der Weltzeit zurück.
getUTCMinutes() Gibt die Minuten (0 ~ 59) des Date-Objekts gemäß der Weltzeit zurück.
getUTCMonth() Gibt den Monat (0 ~ 11) aus dem Date-Objekt gemäß der Weltzeit zurück.
getUTCSeconds() Gibt die Sekunden (0 ~ 59) des Date-Objekts gemäß der Weltzeit zurück.
getYear() ist veraltet. Bitte verwenden Sie stattdessen die Methode getFullYear().
parse() Gibt die Anzahl der Millisekunden von Mitternacht am 1. Januar 1970 bis zum angegebenen Datum (Zeichenfolge) zurück.
setDate() Setzt einen bestimmten Tag des Monats (1 ~ 31) im Date-Objekt.
setFullYear() Legen Sie das Jahr (vierstellig) im Date-Objekt fest.
setHours() Legen Sie die Stunden (0 ~ 23) im Date-Objekt fest.
setMilliseconds() Legen Sie die Millisekunden (0 ~ 999) im Date-Objekt fest.
setMinutes() Legen Sie die Minuten (0 ~ 59) im Date-Objekt fest.
setMonth() Legen Sie den Monat (0 ~ 11) im Date-Objekt fest.
setSeconds() Setzt die Sekunden (0 ~ 59) im Date-Objekt. Die Methode
setTime() setTime() legt ein Date-Objekt in Millisekunden fest.
setUTCDate() Setzt den Tag des Monats (1 ~ 31) im Date-Objekt entsprechend der Weltzeit.
setUTCFulYear() Setzt das Jahr (vier Ziffern) im Date-Objekt gemäß der Weltzeit.
setUTCHours() Setzt die Stunde (0 ~ 23) im Date-Objekt gemäß der Weltzeit.
setUTCMilliseconds() Setzt die Millisekunden (0 ~ 999) im Date-Objekt gemäß der Weltzeit.
setUTCMinutes() Setzt die Minuten (0 ~ 59) im Date-Objekt gemäß der Weltzeit.
setUTCMonth() Setzt den Monat (0 ~ 11) im Date-Objekt gemäß der Weltzeit. Die Methode
setUTCSeconds() setUTCSeconds() wird verwendet, um das Sekundenfeld der angegebenen Zeit gemäß der Weltzeit (UTC) festzulegen.
setYear() ist veraltet. Bitte verwenden Sie stattdessen die Methode setFullYear().
toDateString() Konvertieren Sie den Datumsteil des Date-Objekts in einen String.
toGMTString() ist veraltet. Bitte verwenden Sie stattdessen die Methode toUTCString().
toISOString() Gibt das Datumsformat der Zeichenfolge unter Verwendung des ISO-Standards zurück.
toJSON() Gibt die Datumszeichenfolge im JSON-Datenformat zurück.
toLocaleDateString() Konvertieren Sie den Datumsteil des Date-Objekts entsprechend dem lokalen Zeitformat in eine Zeichenfolge.
toLocaleTimeString() Konvertieren Sie den Zeitteil des Date-Objekts entsprechend dem lokalen Zeitformat in eine Zeichenfolge.
toLocaleString() Konvertieren Sie das Date-Objekt entsprechend dem lokalen Zeitformat in eine Zeichenfolge.
toString() Datumsobjekt in String konvertieren.
toTimeString() Konvertieren Sie den Zeitteil des Date-Objekts in einen String.
toUTCString()

Konvertieren Sie das Datumsobjekt entsprechend der Weltzeit in einen String.

Beispiel:

var today = new Date();var UTCstring = today.toUTCString();
UTC() Gibt die Anzahl der Millisekunden vom 1. Januar 1970 bis zum angegebenen Datum gemäß Weltzeit zurück.
valueOf() Gibt den ursprünglichen Wert des Date-Objekts zurück.

⑻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.


Weitere Kenntnisse zum Thema Programmierung finden Sie unter:

Einführung in die Programmierung

! !

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!

Stellungnahme:
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
Vorheriger Artikel:Wohin weist JavaScript?Nächster Artikel:Wohin weist JavaScript?