Antes de entender a cópia profunda e a cópia superficial, você precisa entender alguns conceitos básicos. Os tipos de variáveis armazenados na memória são divididos em tipos de valor e tipos de referência.
1. Características de armazenamento da atribuição de tipo de valor: copie todos os dados na variável e armazene -os em uma nova variável.
Por exemplo: var num = 123; var num1 = num;
O número armazenado na variável é 123. Em seguida, copie os dados um cópia, o que significa copiar 123 cópias. Depois, existem 2 matrizes na memória; Atribuindo os dados de cópia ao num2, a característica é que existem duas cópias dos dados na memória. Isso pode ser entendido como uma cópia rasa.
2. Atribuição do tipo de referência.
var o = {nome: 'zhang san'};
var obj = O;
A atribuição significa copiar uma cópia dos dados armazenados na variável O e, em seguida, atribuir os dados ao OBJ. Há 1 ponto de dados na memória e o atributo de nome modificado pelo OBJ afetará o nome em o.
Se todas as estruturas de referência dos dados forem copiadas em uma cópia, os dados serão independentemente na memória e são uma cópia profunda;
Se os atributos do objeto atual forem copiados apenas ao copiar e os atributos são tipos de referência não forem considerados, é uma cópia rasa;
Cópia: copie uma cópia. Refere -se a copiar dados do objeto;
Ao discutir cópias profundas e cópias rasas, é necessário garantir que as propriedades do objeto também sejam tipos de referência.
A breve discussão acima sobre a cópia e a cópia profunda e superficial de objetos no JavaScript é todo o conteúdo que compartilho com você. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.