Avant de comprendre une copie profonde et une copie superficielle, vous devez comprendre certains concepts de base. Les types de variables stockés en mémoire sont divisés en types de valeur et types de référence.
1. Caractéristiques de stockage de l'attribution du type de valeur: Copiez toutes les données de la variable et stockez-la dans une nouvelle variable.
Par exemple: var num = 123; var num1 = num;
Le nombre stocké dans la variable est 123. Ensuite, copiez les données une copie, ce qui signifie copier 123 exemplaires. Ensuite, il y a 2 tableaux en mémoire; Attribution des données de copie à NUM2, la caractéristique est qu'il y a deux copies des données en mémoire. Cela peut être compris comme une copie superficielle.
2. Affectation du type de référence.
var o = {name: 'zhang san'};
var obj = o;
L'attribution signifie copier une copie des données stockées dans la variable O, puis attribuer les données à OBJ. Il y a 1 point de données en mémoire, et l'attribut de nom modifié par OBJ affectera le nom en o.
Si toutes les structures de référence des données sont copiées dans une copie, les données sont indépendamment en mémoire et en profondeur;
Si les attributs de l'objet actuel ne sont copiés que lors de la copie et que les attributs sont des types de référence, il s'agit d'une copie superficielle;
Copie: copie une copie. Il fait référence à la copie des données d'objet;
Lorsque vous discutez de la copie profonde et de la copie superficielle, il est nécessaire de s'assurer que les propriétés de l'objet sont également des types de référence.
La brève discussion ci-dessus sur la copie et la copie orientées objet profond et superficiel en JavaScript est tout le contenu que je partage avec vous. J'espère que cela pourra vous donner une référence et j'espère que vous pourrez soutenir Wulin.com plus.