js 中变量保存的基本类型值和引用类型值的各自特点

2017-8-24 18:02:11 3,619 views

 

复制变量值:
基本类型值:

var num1=5;
var num2=num1;

 
复制前的变量对象

num1 5  number类型

复制后的变量对象

num2 5  number类型
num1 5  number类型

num2只是num1的一个副本,2者独立
 
引用类型值:

var obj1=new Object();
var obj2=obj1;
obj1.name="mike";
alert(obj2.name);//mike

引用类型的复制

引用类型复制过程中会将存储在变量对象中的值复制到新变量分配的空间中,不同的是,这个值实际上是一个指针,这个指针指向堆内存。
复制结束后,2者指向同一个对象。
 
基本类型值在内存中占据固定大小的空间,因此保存在栈内存中
 
引用类型保存在堆内存中 ,因为它的值大小不固定因此不能保存在栈内存中,又因为它的内存地址大小固定,所以在栈内存中保存的访问地  址,堆内存保存着对象。

1

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。