深拷贝的三种实现方式

 我来答
热爱电子数码
高能答主

2023-03-05 · 了解电子产品知识,分享数码相关资料。
热爱电子数码
采纳数:367 获赞数:28371

向TA提问 私信TA
展开全部

深拷贝的三种实现方式如下:

1、使用递归的方式实现深拷贝

//使用递归的方式实现数组、对象的深拷贝functiondeepClone1(obj){

//判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝

varobjClone=Array、isArray(obj)?[]:{};

//进行深拷贝的不能为空,并且是对象或者是

if(obj&&typeofobj==="object"){

for(keyinobj){

if(obj、hasOwnProperty(key)){

if(obj[key]&&typeofobj[key]==="object"){

objClone[key]=deepClone1(obj[key]);

2、通过JSON对象实现深拷贝

//通过js的内置对象JSON来进行数组对象的深拷贝

functiondeepClone2(obj){

var_obj=JSON、stringify(obj),

objClone=JSON、parse(_obj);

returnobjClone;

}JSON对象实现深拷贝的一些问题

3、通过jQuery的extend方法实现深拷贝

vararray=[1,2,3,4];

varnewArray=$、extend(true,[],array);

构造函数

在C++面向对象程序设计中,通过构造函数对对象进行初始化,它可以为对象在计算机内存中开辟内存空间,也可以为对象的数据成员提供初始值。构造函数是一个与类同名,没有返回值的特殊成员函数,每当创建一个对象时(包括使用new动态创建对象),编译系统就会自动调用构造函数。

构造函数象类以外的一般函数和类成员函数一样可以重载和带缺省参数,构造函数的重载为对象的生成提供了各种灵活的手段。

构造函数分为缺省构造函数(默认构造函数)和用户自定义构造函数。当程序员没有定义构造函数时,系统会提供一个无参的缺省构造函数。如果用户自定义了一个构造函数,编译器提供的缺省构造函数就自动消失了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式