Tipi di dati di base:Accesso al valore, che ti permette di manipolare il valore effettivo salvato nella variabile. I valori di tipo base si riferiscono a segmenti di dati semplici.
Esistono cinque tipi di dati di base:Undefined、Null、String、Number、Boolean。
Tipo di citazione:Quando si copia una variabile di un oggetto, è il riferimento dell'oggetto che viene manipolato, ma quando si aggiungono proprietà all'oggetto, è proprio l'oggetto a essere manipolato. I valori di tipo di riferimento sono oggetti che possono essere composti da più valori.
Esistono diversi tipi di citazioni:oggetto, Array, RegExp, Data, Funzione, tipi di wrapper base speciali (Stringa, Numero, Booleano) e oggetti monolitici integrati (Globale, Matematico).
Per la differenza tra valori di tipo base e valori di tipo di riferimento:
(1)I valori di tipo di riferimento aggiungono proprietà e metodi, mentre i valori di tipo base non possono。
(2)Quando si copia un valore di una variabile, il tipo base crea un nuovo valore sull'oggetto variabile e lo copia nella nuova variabile. Da allora,Qualsiasi azione delle due variabili non influisce sull'altra; Il tipo di riferimento consiste nel copiare una copia del valore memorizzato nell'oggetto variabile nella nuova variabile, ma il valore di entrambe le variabili punta a un oggetto memorizzato nell'heap, cioè in realtà si riferiscono allo stesso oggetto.Cambiare una variabile influisce sull'altra。
Riferimento ai valori di tipo, usando un array come esempio:
Parametri di passaggio: Valore passaggio, copia il valore esterno alla funzione al parametro all'interno della funzione (una variabile locale), quando la variabile locale viene operata, la variazione della variabile locale verrà riflessa all'esterno della funzione, ma questo non influenzerà il valore esterno alla funzione.
Ovviamente, può essere difficile da capire quando si usano oggetti:
Ovviamente, i parametri vengono passati per valore, quindi perché l'istanza p creata può anche aggiungere l'attributo name in setName()?
Poiché obj e p si riferiscono allo stesso oggetto, obj accederà allo stesso oggetto tramite riferimento, anche se viene passato per valore. Dai un'occhiata all'esempio qui sotto per chiarire.
Riscrivi l'oggetto obj all'interno della funzione, in quel momento l'oggetto obj si sta riferendo a un oggetto locale, e l'esterno p è ancora il riferimento originale, quindi non cambierà.
Tipi di analisi:
typeof:确定变量是字符串、数值、布尔值还是undefined的最佳工具。
instanceof: Determinare se è un tipo oggetto.
|