专业的JAVA编程教程与资源

网站首页 > java教程 正文

VUE开发 - 深拷贝与浅拷贝探讨(深拷贝和浅拷贝的区别 js)

temp10 2024-10-19 14:55:35 java教程 14 ℃ 0 评论

普通的 变量赋值一般都是浅拷贝,类似于java指针的概念


VUE开发 - 深拷贝与浅拷贝探讨(深拷贝和浅拷贝的区别 js)

let a = 1;

let b = a;


对b来说就是浅拷贝。

还有一个问题估计前端小伙伴经常遇到


data(){

return {

list:[1,2,3]

}

}

当你在方法中去需要接收这个`list`去处理一些业务,但是又不想影响到原数据。


let item = this.list[0]

if(item){

item = 0

}

这个时候,你说 this.list[0] 是多少?是1还是0 ?


上面就是浅拷贝。

想要避免这种问题影响到主体的处理,利用深拷贝,直接


let item = JSON.pase(JSON.stringIfy(this.list[0]))


这样,你怎么处理item都不会影响到原数据结构。浅拷贝就是你,深拷贝就是另一个你,和你没任何关系,除了一模一样外。


关注我,带你了解前端开发那些事,互相交流互相进步。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表