一、基本数据类型
基本数据类型的存储:在栈内存中开辟一块空间存储它的变量名和值
当你修改a或者是b的值时,对另外一个变量没有影响,如下图:
var a = 123;
var b = a;
console.log(a);//123
console.log(b);//123
a = 456;
console.log(a);//456
console.log(b);//123
二、引用数据类型
引用数据类型的存储:首先在栈内存中开辟一块空间存储变量名和值,在堆内存中开辟一块空间存储引用数据类型的内容,而栈内存中的值是一个地址,指向堆内存中引用数据类型所在的地方。
所以,当我们创建一个变量a,并且将引用数据类型赋值给他,再将a赋值给b,相当于将该引用数据类型在堆内存中的地址赋值给了b,当执行a.name = 'zhangsan'之后,堆内存中的引用数据类型发生了改变,但是栈内存中a,b的地址指向没有变,所以a和b打印出来的结果都为'zhangsan'
var a = {
name: 'lisi'
}
var b = a;
console.log(a);//lisi
console.log(b);//lisi
a.name = 'zhangsan'
console.log(a);//zhangsan
console.log(b);//zhangsan
'