Grunnleggende datatyper:Value access, som lar deg manipulere den faktiske verdien som er lagret i variabelen. Basetype-verdier refererer til enkle datasegmenter.
Det finnes fem grunnleggende datatyper:Undefined、Null、String、Number、Boolean。
Siteringstype:Når man kopierer en variabel fra et objekt, er det referansen til objektet som manipuleres, men når man legger til egenskaper til objektet, er det selve objektet som manipuleres. Referansetypeverdier er objekter som kan bestå av flere verdier.
Det finnes flere typer sitater:objekt, Array, RegExp, Date, Funksjon, spesielle grunnleggende wrapper-typer (String, Number, Boolean), og monolittiske innebygde objekter (Global, Math).
For forskjellen mellom basistypeverdier og referansetypeverdier:
(1)Referansetypeverdier legger til egenskaper og metoder, mens basistypeverdier ikke kan。
(2)Når man kopierer en variabelverdi, oppretter basistypen en ny verdi på variabelobjektet og kopierer den til den nye variabelen. Siden da,Enhver handling av de to variablene påvirker ikke den andre; Referansetypen er å kopiere en kopi av verdien lagret i variabelobjektet til den nye variabelen, men verdien til begge variablene peker på et objekt lagret i heapen, det vil si at de faktisk refererer til det samme objektet.Å endre én variabel påvirker den andre。
Referanse til typeverdier, ved å bruke et array som eksempel:
Pass parametere: Pass etter verdi, kopier verdien utenfor funksjonen til parameteren inne i funksjonen (en lokal variabel), når den lokale variabelen opereres, vil endringen av den lokale variabelen reflekteres utenfor funksjonen, men dette vil ikke påvirke verdien utenfor funksjonen.
Selvfølgelig kan det være vanskelig å forstå når man bruker objekter:
Selvfølgelig sendes parameterne med verdi, så hvorfor kan den opprettede p-instansen også få navnattributtet lagt til i setName()?
Fordi obj og p refererer til samme objekt, vil obj få tilgang til det samme objektet ved referanse, selv om det sendes med verdi. Ta en titt på eksempelet nedenfor for å gjøre det klart.
Skriv om obj-objektet inne i funksjonen, på dette tidspunktet refererer obj-objektet til et lokalt objekt, og ytre p er fortsatt den opprinnelige referansen, så det vil ikke endres.
Typer analyser:
typeof:确定变量是字符串、数值、布尔值还是undefined的最佳工具。
instansof: Bestem om det er en objekttype.
|