值类型和引用类型深入理解
之前看书的时候看过了值类型和引用类型的相关内容,当时以为懂了,今天碰到一个问题,发现理解的还是不够透彻
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等,而引用类型有函数,数组等对象都是