计算机无法直接操纵硬盘,是操作硬盘里的内存条,内存条里分 栈 与 堆

基本数据类型存在栈里,引用数据类型放在堆里

引用数据类型:function  object

例如 a 值 6放在栈区

       var haha=function(){}          haha 放在栈区,对应的值是函数代码块在堆区的地址

 

 把一个函数赋值给另一个函数,在内存条栈区里赋值的是指向堆区的地址

 

a原本值为6,现在改成15,内存运作机理:

把原先的栈地址还原成:s1010  对应值不变,开辟新的地址,存放 a ,对应值为15.因此原先的数据还存在可用一定手段恢复数据。

基本数据类型比较的是值,值相等,故为true:

 

 

引用数据类型比较的是地址;

代码块相同,但是在堆区开辟了不同的空间,在栈区上的指针信息不等,故为false

 

 

ba 没开辟堆空间,共用一个堆空间,ba=ha,是将 ha指向地址赋值给ba,故比较地址信息相等为true;