Basisdatatypes:Value access, waarmee je de daadwerkelijke waarde die in de variabele is opgeslagen kunt manipuleren. Basistypewaarden verwijzen naar eenvoudige datasegmenten.
Er zijn vijf basisdatatypen:Undefined、Null、String、Number、Boolean。
Citaattype:Bij het kopiëren van een variabele van een object is het de referentie van het object dat wordt gemanipuleerd, maar bij het toevoegen van eigenschappen aan het object is het het daadwerkelijke object dat wordt gemanipuleerd. Referentietypewaarden zijn objecten die uit meerdere waarden kunnen bestaan.
Er zijn verschillende soorten citaties:object, Array, RegExp, Date, Function, speciale basis-wrappertypes (String, Number, Booleaans), en monolithische ingebouwde objecten (Globaal, Wiskunde).
Voor het verschil tussen basistypewaarden en referentietypewaarden:
(1)Referentietypewaarden voegen eigenschappen en methoden toe, terwijl basistypewaarden dat niet kunnen。
(2)Bij het kopiëren van een variabele waarde creëert het basistype een nieuwe waarde op het variabeleobject en kopieert deze naar de nieuwe variabele. Sindsdien,Elke actie van de twee variabelen beïnvloedt de andere niet; Het referentietype is om een kopie van de waarde die in het variabeleobject is opgeslagen te kopiëren naar de nieuwe variabele, maar de waarde van beide variabelen wijst naar een object dat in de heap is opgeslagen, dat wil zeggen, ze verwijzen daadwerkelijk naar hetzelfde object.Het veranderen van de ene variabele beïnvloedt de andere。
Verwijzen naar typewaarden, met een array als voorbeeld:
Pass-parameters: Pass by value, kopieer de waarde buiten de functie naar de parameter binnen de functie (een lokale variabele); wanneer de lokale variabele wordt bediend, wordt de verandering van de lokale variabele buiten de functie weerspiegeld, maar dit beïnvloedt de waarde buiten de functie niet.
Natuurlijk kan het moeilijk te begrijpen zijn bij het gebruik van objecten:
Natuurlijk worden de parameters door de waarde doorgegeven, dus waarom kan de aangemaakte p-instantie ook het naamattribuut toevoegen in setName()?
Omdat obj en p naar hetzelfde object verwijzen, zal obj hetzelfde object via referentie benaderen, zelfs als het door een waarde wordt doorgegeven. Bekijk het onderstaande voorbeeld om het duidelijk te maken.
Herschrijf het obj-object binnen de functie, op dat moment verwijst het obj-object naar een lokaal object, en de buitenste p is nog steeds de oorspronkelijke referentie, dus het zal niet veranderen.
Soorten assays:
typeof:确定变量是字符串、数值、布尔值还是undefined的最佳工具。
instanceof: Bepaal of het een objecttype is.
|