基础变量:null,undefined, boolean,number,string.基础数据类型都是按值访问,因为们我们可以直接操作保存在变量中的实际的值。
引用数据类型与堆内存:js的引用数据类型,比如数组array,它们值的大小不固定,引用数据类型的值是保存在堆内存镇的对象,javascript不允许直接访问堆内存中的位置,因此我们不能直接操作对象堆内存空间。在操作对象时,实际上是在操作对象的饮用而不是实际的对象。因此引用类型的值都是按引用访问。这里的引用,我们可以粗浅的理解为保存变量对象中的一个地址,该地址与堆内存的值相关联。
列子:
Var a = 20 ;
b= a;
b=30;
Console.log(a) //30
Var a= {m:20,n:10 };
a=b;
b.n=0;
Console.log(a.n) //0;