tipos de datos JS (valor de referencia + el valor original)

JavaScript tipos de datos se dividen en dos categorías: los tipos primitivos y tipos de objetos.

  1. Los tipos primitivos incluyen: número, cadena, booleano, underfine , nula
    a menudo llamados los tipos de datos básicos, estos valores originales no se pueden cambiar, en comparación con el valor original del valor de comparación es: sólo cuando son iguales al valor que son iguales.
    valores originales almacenados en la pila (los datos pila): asignación entre la pila de la memoria y la memoria de pila es una copia, no una memoria, independientemente uno de otro.
var a = 111 ;
var b = a ;//拷贝一份a里的值赋给b。这时b里放的值和a里的值是两个没关系值,换句话说就是副本
a = 222;
console.log(b); //打印111;即b的值不会因a的值改变而改变
  1. Tipo de objeto : objeto, (js también define dos objetos especiales: Array Conjunto de la función y la función)
    comúnmente conocida como un tipo de referencia de objeto, un valor de referencia es variable y sus valores no son Comparación: incluso si los dos objetos contienen la misma atributos y el mismo valor, sino que también no son iguales.
    valor de referencia almacenado en un montón (datos montón): la pila será la primera en aplicaciones espaciales (var), un valor de referencia se pone en el contenido de la pila, a continuación, poner en la memoria de pila dirección de memoria del montón, encontrar el correspondiente montón de conveniencia contenido, por lo que la pila está organizado. Así! Entre el valor de referencia de copiadora, una copia de la última dirección, es un valor, que afectará a la otra.
var arr = [1, 2];//
var arr1 = arr; //先在栈内申请空间arr1,拷贝arr赋给arr1,注意这里拷贝的是地址!!地址指向的都是同一块堆内存!(相当于两个一样的钥匙即地址,开一个门即对应的堆内存)
arr.push(3);
console.log(arr1);//打印[1,2,3];
//即变量arr通过方法改变值时,是改变了堆中内容,因此arr1的值也会相应的改变。

arr = [4, 5]; //这时不是在原来的基础上改值了,而是重新申请了一块新的堆空间,让arr指向新的空间了
console.log(arr1);//所以还是打印[1,2,3];
Liberadas dos artículos originales · ganado elogios 3 · Vistas 830

Supongo que te gusta

Origin blog.csdn.net/qq_42301358/article/details/105324109
Recomendado
Clasificación