您的位置:首页 > 数码常识数码常识
js深拷贝和浅拷贝的方法(js中深浅拷贝)
2025-05-15人已围观
js深拷贝和浅拷贝的方法(js中深浅拷贝)
在js中,数据类型分两种: ‘基本数据类型’ 和 ‘引用数据类型’
js中深浅拷贝
‘基本类型数据’ 存在于 栈内存 中,'引用数据类型’ 的属性存在于 栈内存中,值存在与 堆内存中,通过指针来指向对应值
所以,深浅拷贝主要出现在引用数据类型中
如下图,就是浅拷贝,拷贝出来的变量 copyArray,只是拷贝指针,指向的还是同一个堆内存中的数据,所以,其中一个值改变,另外一个值相应改变
如下图,就是深拷贝,拷贝出来的值,在堆内存中另外开辟空间,存储新值,通过指针指向。当改变新拷贝的值时,原值不会被改变。
JSON.prase( JSON.string() )
但是 JSON.parse来转译深拷贝,真的就没问题吗?
先多层嵌套,试一下是否还能深拷贝
从上面代码可以看出,多层嵌套时,也能深拷贝。当数据里含有function是否可以依然深拷贝?
从上面代码可以总结出:JSON.parse进行深拷贝时,能够满足部分数据需求,能够进行多层次数据的拷贝,但是会忽略function,undefined,symbo,所以在使用时,要注意数据结构
循环递归深拷贝
concat() , slice(),都不改变原数组,新建数据,经测试,只能深拷贝首层数据
上面就是小居数码小编今天给大家介绍的关于(js中深浅拷贝)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
如何将微信的文章保存为word方法(微信文章如何保存为pdf)
分割pdf文件最简单的方法(怎样分割pdf文件)
pdf文件里面的文字修改方法(pdf里面的文字如何修改)
ps给衣服换颜色的方法自学教程(ps给衣服换颜色)
155347
在js中,数据类型分两种: ‘基本数据类型’ 和 ‘引用数据类型’
js中深浅拷贝
‘基本类型数据’ 存在于 栈内存 中,'引用数据类型’ 的属性存在于 栈内存中,值存在与 堆内存中,通过指针来指向对应值
所以,深浅拷贝主要出现在引用数据类型中
如下图,就是浅拷贝,拷贝出来的变量 copyArray,只是拷贝指针,指向的还是同一个堆内存中的数据,所以,其中一个值改变,另外一个值相应改变
如下图,就是深拷贝,拷贝出来的值,在堆内存中另外开辟空间,存储新值,通过指针指向。当改变新拷贝的值时,原值不会被改变。
JSON.prase( JSON.string() )
但是 JSON.parse来转译深拷贝,真的就没问题吗?
先多层嵌套,试一下是否还能深拷贝
从上面代码可以看出,多层嵌套时,也能深拷贝。当数据里含有function是否可以依然深拷贝?
从上面代码可以总结出:JSON.parse进行深拷贝时,能够满足部分数据需求,能够进行多层次数据的拷贝,但是会忽略function,undefined,symbo,所以在使用时,要注意数据结构
循环递归深拷贝
concat() , slice(),都不改变原数组,新建数据,经测试,只能深拷贝首层数据
上面就是小居数码小编今天给大家介绍的关于(js中深浅拷贝)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
如何将微信的文章保存为word方法(微信文章如何保存为pdf)
分割pdf文件最简单的方法(怎样分割pdf文件)
pdf文件里面的文字修改方法(pdf里面的文字如何修改)
ps给衣服换颜色的方法自学教程(ps给衣服换颜色)
155347
很赞哦! ()