关于变量的值的范例的总结。
//1.当多个变量的值黑白援用范例
var a=1;
var b=a; //体系复制了a的值并赋值给b
a++; //a本身的值被转变,而b的值不受影响 a b的值虽相称但互不影响
console.log(a)//2
console.log(b)//1
//2.当多个变量的值是援用范例
var a={n:1}; //a的值是一个援用对象,在内存中保留这个对象的地点,a指向{n:1}
var b=a; //将a赋值给b,实际上是将a的援用赋给了b,a和b同时是指向 {n:1}.
a.n++; //当a的援用对象发作转变时,必定b的值也会被转变。由于他们指向统一个援用对象
console.log(a.n);//2
console.log(b.n);//2
//3.当多个变量的值是援用对象,个中一个变量发作援用对象转变时
var a={n:1};
var b=a;
a.x=a={n:2};
console.log(a.x);//undefined
console.log(b.x);//{n:2}
/*a 的对象是一个援用对象
*a赋值给b,ab同时指向统一援用对象
a并没有x属性,当强行挪用x属性时,是undefined,将a={n:2}赋值给a.x,此时a原有的引用对象变动成{n:1,x:{n:2}},同时a={n:2}使a本来的援用对象,变动成{n:2}
*然则b的援用对象只是被变动了值,而并没有转变援用。所以此时a指向新的对象{n:2},b照样指向被添加了x属性的老对象{n:1,x:{n:2}}
*/