专栏
资源中心
模板库
首页
>
专栏
>
前端
> 文章详情
js中 4种浅拷贝方式
发布于:2023-07-03 15:14:14 原创发表 查看:66 讨论:0
首先深拷贝,浅拷贝,都是基于指 引用类型的变量 在 堆内存 中的占用空间情况。
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
一、在栈内存中保存字符串,数字,布尔以及指向堆内存的变量地址等固定的值。
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
让另个一变量d 等于 a,相当于在栈内存中开辟了一个新空间。
LVc易塔云建站-模板下载,web开发资源,技术博客
栈中a和d已经是两个互不相干的变量,修改不影响对方。
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
二、在堆内存中保存函数、数组、对象,这些是不固定的值。
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
令d等于a,只会在栈内存中存入一个相同的地址(指向a指向的堆内存地址)。
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
此时改变d的值,a的值也会改变。
LVc易塔云建站-模板下载,web开发资源,技术博客
浅拷贝仅仅只是拷贝了a在栈内存的堆地址,仍然和a共用一个堆内存。
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
三、浅拷贝的几种方式:
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
①、Object.assign(target, ...source)
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
Object.assign() 只复制属性值。
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
LVc易塔云建站-模板下载,web开发资源,技术博客
②、扩展运算符 ...
LVc易塔云建站-模板下载,web开发资源,技术博客
③、arr.slice()
LVc易塔云建站-模板下载,web开发资源,技术博客
④、arr.concat()
写的不错
返回栏目
上一篇:function, new function, new Function 的区别
下一篇:js中 4种深拷贝方式
评论
匿名
最新文章
热门笔记
理解:JS 的事件循环机制 Event Loop,微任务与宏任务
反问:JS 的原型链存在的意义是什么?为什么这样设计?
线性代数基础:求逆矩阵
总结:JS判断数据类型的四种方法
canvas 实例方法: save() 和 restore() 的理解
理解 js 构造函数
理解:js中 构造函数 与 原型的对应关系
正则表达式_概念_简介_起源
原生 js 获取 html 是一个 HTML Collection 集合,使用 let 方法可以获得块级作用域
js 对于地址栏中的 URI 的解析
可以直接扫码关注本站
微信扫码关注公众号
回复指定菜单关键词,即可获取相应功能或领取会员福利哦
微信扫一扫,添加好友
添加指定客服微信
咨询相关建站问题,还可获取领取会员福利哦