值类型和引用类型深入理解

之前看书的时候看过了值类型和引用类型的相关内容,当时以为懂了,今天碰到一个问题,发现理解的还是不够透彻

var json = {
  a: 1,
  b: 2  
}

var json1 = json;

这个时候json赋值给json1的是它存储变量的地址,也就是说改变了其中一个,另外一个下面相关的值也会受到影响。

json1.a = 3

console.log(json.a) //    3

但是如果是给整个对象重新赋值了,那么就会改变它的指向地址了,这个时候将不会影响到另外一个

json1 = 2;

console.log(json) //  {a: 3, b: 2}

值类型有字符串,数字,布尔值,null,undefind等,而引用类型有函数,数组等对象都是

原文地址:https://www.cnblogs.com/kugeliu/p/7089770.html