JavaScript中的对象复制

本文探讨JavaScript中对象复制的问题,包括基本类型与引用类型的差异。在JavaScript中,对象复制默认是浅复制,意味着新旧对象共享同一内存空间。通过递归遍历可以实现深复制,确保修改副本不会影响原始对象。文中还通过实例展示了浅复制和深复制的效果。
摘要由CSDN通过智能技术生成

所有的面向对象的语言中,都存在着对象引用、复制等等问题,对于初学者来说可能难以理解。今天我来总结一下JavaScript中对象复制。

首先我们要知道JavaScript中的数据分为基本类型(单类型)引用类型。除了Object对象,其余都是基本类型例如我们常见的String、Number、boolean、null、undefined。而数组、时间对象以及我们自定义的对象等等,都是继承自Object的,所以说都是引用类型。

在js中对对象进行赋值时,基本类型会被直接复制,例如下:

let a = 1;
let b = a;
b = 2;
console.log(a);
console.log(b);

效果:

可见a,b都是number基本类型,直接赋值就把a复制给了b,改变b并不改变a。

同样可以看这个:

function ch(num) {
	num = num + 10;
}

let a = 1;
console.log(a);
ch(a);
console.log(a);

结果&#x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值