JS高程笔记6(值/引用类型复制)

          复制变量值

值类型的复制变量值:

图片发自简书App

上图中以num2为变量名的变量,其变量值是通过复制num1的变量值得到的。换而言之,num2和num1在内存中都储存着数值5,且前者是后者的副本。

图片发自简书App



引用类型的复制变量值:

图片发自简书App

上图中,以obj2为变量名的变量,其变量值同样是通过复制obj1的值得到的,但是复制的结果不是储存在内存中的一个对象,而是一个指针,这个指针指向obj1的值。这样一来,obj1与obj2在引用访问时,其实是对同一个储存在内存中的对象的引用进行操作。

图片发自简书App

var obj1=new object();

var obj2=obj1;

obj2.name="Jake";

alert(obj1.name);    //"Jake"

obj2=new object();

obj2.name="Haly";

alert(obj1.name);    //"Jake"

从上面的例子我们可以看出,引用类型变量的复制,实质类似于"捆绑"。如果obj1,obj2存在复制关系,一但两者中的一方被访问(增删属性等),其它变量就会自动修正自己,与之保持一致。但是要注意,一但两者中的一方重新定向(指向一个新对象),这种捆绑就会消失。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容