No está claro lo que está preguntando, pero déjame intentar responder.
En primer lugar, a diferencia de las cadenas, los números u objetos booleanos son tipos de referencia en JS.
Por ejemplo en un objeto de matriz
- ¿Cómo se relacionan el almacenamiento de datos cuánticos y la computación cuántica? Más específicamente, ¿es posible uno antes que el otro?
- No entiendo por qué el enredo cuántico no se puede usar para la comunicación. ¿Pueden algunos explicarlo?
- ¿Cómo funcionan las uniones Josephson?
- ¿Cuáles son algunos buenos recursos sobre información cuántica y computación?
- ¿Cuáles son algunas aplicaciones de la teoría de la probabilidad cuántica fuera de la física cuántica?
var a = [1,2,3];
var b = a;
a [0] = 4;
console.log (b); // [4, 2, 3]
Entonces, el objeto que está recibiendo a cambio de la ejecución de una función está tratando de hacer referencia al objeto que se declara e inicializa en esa función. Sin embargo, dado que están en diferentes ámbitos, la variable que se asigna al objeto devuelto no puede alcanzar el alcance interno de la función de retorno, se crea un nuevo objeto. Considerar;
función f (n) {
a = [1,2,3];
a [0] = n;
devolver a;
}
var b = f (4); // se crea una copia del objeto interno
console.log (b); // [4,2,3]
f (1); // [1,2,3]
console.log (b); // [4,2,3]
La mayoría de las veces las funciones devuelven otra definición de función que devuelve un objeto privado desde dentro de la función invocada. Esto se llama cierre y así es como se establece una referencia del objeto interno a la variable externa.
función f (n) {
var a = [1,2,3];
a [0] = n;
función return () {return a;}
}
var b = f (4); // se establece una referencia al objeto interno
console.log (b); // function () {return a}
console.log (b ()); // [4,2,3]