Grundlegende Datentypen:Value Access ermöglicht es dir, den tatsächlich in der Variablen gespeicherten Wert zu manipulieren. Basistypwerte beziehen sich auf einfache Datensegmente.
Es gibt fünf grundlegende Datentypen:Undefined、Null、String、Number、Boolean。
Zitationstyp:Beim Kopieren einer Variablen eines Objekts ist es die Referenz des zu bearbeitenden Objekts, aber beim Hinzufügen von Eigenschaften zum Objekt ist es das eigentliche Objekt, das manipuliert wird. Referenztypwerte sind Objekte, die aus mehreren Werten bestehen können.
Es gibt verschiedene Arten von Zitaten:Objekt, Array, RegExp, Date, Funktion, spezielle grundlegende Wrapper-Typen (String, Number, Boolean) und monolithische eingebaute Objekte (Global, Math).
Für die Differenz zwischen Basistyp- und Referenztypwerten:
(1)Referenztypwerte fügen Eigenschaften und Methoden hinzu, während Basistypwerte dies nicht können。
(2)Beim Kopieren eines Variablenwerts erzeugt der Basistyp einen neuen Wert auf dem Variablenobjekt und kopiert ihn in die neue Variable. Seitdem,Jede Wirkung der beiden Variablen beeinflusst die jeweils andere nicht; Der Referenztyp besteht darin, eine Kopie des im Variablenobjekt gespeicherten Wertes auf die neue Variable zu kopieren, aber der Wert beider Variablen zeigt auf ein im Heap gespeichertes Objekt, das heißt, sie beziehen sich tatsächlich auf dasselbe Objekt.Die Änderung einer Variablen beeinflusst die andere。
Verweise auf Typwerte, anhand eines Arrays als Beispiel:
Parameter passieren: Per Wert übergehen, den Wert außerhalb der Funktion auf den Parameter innerhalb der Funktion (eine lokale Variable) kopieren; wenn die lokale Variable betrieben wird, wird die Änderung der lokalen Variablen außerhalb der Funktion widergespiegelt, aber dies beeinflusst den Wert außerhalb der Funktion nicht.
Natürlich kann es schwierig sein, Objekte zu verstehen:
Offensichtlich werden die Parameter per Wert übergeben, warum kann also die erstellte p-Instanz auch das Name-Attribut in setName() hinzufügen?
Da obj und p sich auf dasselbe Objekt beziehen, greift obj auf dasselbe Objekt durch Referenz zu, selbst wenn es durch den Wert weitergegeben wird. Schau dir das untenstehende Beispiel an, um es klarzustellen.
Schreibe das obj-Objekt innerhalb der Funktion um, zu diesem Zeitpunkt referenziert das obj-Objekt auf ein lokales Objekt, und das äußere p ist weiterhin die ursprüngliche Referenz, sodass es sich nicht ändert.
Arten von Assays:
typeof:确定变量是字符串、数值、布尔值还是undefined的最佳工具。
instanzof: Bestimmen Sie, ob es sich um einen Objekttyp handelt.
|