Tipuri de date de bază:Acces la valori, care îți permite să manipulezi valoarea reală salvată în variabilă. Valorile de tip de bază se referă la segmente simple de date.
Există cinci tipuri de date de bază:Undefined、Null、String、Number、Boolean。
Tip de citare:Când copiezi o variabilă a unui obiect, este referința obiectului care este manipulată, dar când adaugi proprietăți obiectului, obiectul efectiv este cel care este manipulat. Valorile de tip referință sunt obiecte care pot fi compuse din mai multe valori.
Există mai multe tipuri de citări:obiect, Array, RegExp, Date, Funcție, tipuri speciale de bază de wrapper (String, Number, Boolean) și obiecte monolitice încorporate (Global, Math).
Pentru diferența dintre valorile de tip de bază și cele de tip de referință:
(1)Valorile de tip de referință adaugă proprietăți și metode, în timp ce valorile de tip de bază nu pot。
(2)La copierea unei valori de variabilă, tipul de bază creează o nouă valoare pe obiectul variabilei și o copiază în noua variabilă. De atunci,Orice acțiune a celor două variabile nu afectează cealaltă; Tipul de referință este să copiezi o copie a valorii stocate în obiectul variabilei în noua variabilă, dar valoarea ambelor variabile indică un obiect stocat în heap, adică ele se referă efectiv la același obiect.Schimbarea unei variabile afectează cealaltă。
Referințierea valorilor de tip, folosind un tablou ca exemplu:
Parametri de trecere: Valoare de pasare, copiază valoarea din afara funcției către parametrul din interiorul funcției (o variabilă locală), când variabila locală este operată, schimbarea variabilei locale va fi reflectată în afara funcției, dar aceasta nu va afecta valoarea din afara funcției.
Desigur, poate fi dificil de înțeles când folosești obiecte:
Evident, parametrii sunt transmisi după valoare, deci de ce instanța p creată poate primi și atributul name adăugat în setName()?
Deoarece obj și p se referă la același obiect, obj va accesa același obiect prin referință, chiar dacă acesta este transmis prin valoare. Aruncă o privire la exemplul de mai jos pentru a clarifica situația.
Rescrie obiectul obj în interiorul funcției, în acest moment obiectul obj face referire la un obiect local, iar p exterior este tot referința originală, deci nu se va schimba.
Tipuri de teste:
typeof:确定变量是字符串、数值、布尔值还是undefined的最佳工具。
instanceof: Determină dacă este un tip de obiect.
|