Antes de comprender la copia profunda y la copia superficial, debe comprender algunos conceptos básicos. Los tipos variables almacenados en la memoria se dividen en tipos de valor y tipos de referencia.
1. Características de almacenamiento de la asignación de tipo de valor: Copie todos los datos en la variable y guárdelo a una nueva variable.
Por ejemplo: var num = 123; var num1 = num;
El número almacenado en la variable es 123. Luego copie los datos de una copia, lo que significa copiar 123 copias. Luego hay 2 matrices en la memoria; Asignando los datos de copia a NUM2, la característica es que hay dos copias de los datos en la memoria. Esto puede entenderse como una copia superficial.
2. Asignación del tipo de referencia.
var o = {nombre: 'Zhang San'};
var obj = o;
Asignación significa copiar una copia de los datos almacenados en la variable O y luego asignar los datos a OBJ. Hay 1 punto de datos en la memoria, y el atributo de nombre modificado por OBJ afectará el nombre en o.
Si todas las estructuras de referencia de los datos se copian en una copia, entonces los datos son independientemente en la memoria y es una copia profunda;
Si los atributos del objeto actual se copian solo cuando se copia, y los atributos son tipos de referencia no se consideran, entonces es una copia superficial;
Copiar: copia una copia. Se refiere a copiar datos de objetos;
Al discutir una copia profunda y una copia superficial, es necesario asegurarse de que las propiedades del objeto también sean tipos de referencia.
La breve discusión anterior sobre la copia y la copia orientada a objetos profundos y superficiales en JavaScript es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.