Aprenda el par y la pila de js todos los días

var a={h1: '11'};
var b=a;
a=null;
console.log(a,b) //null {h1: "11"}

El motivo del ejemplo anterior: a = null simplemente cancela la referencia, pero no cambia el montón, yb todavía apunta al montón original y aún conserva el valor anterior.

var a = {n: 1};
var b = a;
a.x = a = {n: 2};    //   等价于  b.x = a = {n: 2};  
console.log(a);    //{n:2}
console.log(a.x);    //undefined
console.log(b);    //{n:1,x:{n:2}}
console.log(b.x);    //{n: 2}

La razón del ejemplo anterior: la escritura de a = {n: 2} cambia la referencia de a, pero la referencia de b permanece sin cambios;

 

Supongo que te gusta

Origin blog.csdn.net/taozi550185271/article/details/108087183
Recomendado
Clasificación