JS 深拷贝浅拷贝

一、浅拷贝

cpp 复制代码
// 假设有一个JSON对象
let originalObject = {
  name: "Alice",
  age: 25,
  interests: ["reading", "coding"]
};
 
// 将JSON对象赋值给另一个变量
let copiedObject = originalObject;
 
// 修改新变量的属性
copiedObject.age = 26;
 
// 输出原始对象和新对象的年龄,验证是否为深拷贝
console.log(originalObject.age); // 输出 25
console.log(copiedObject.age);   // 输出 26

二、深拷贝

cpp 复制代码
// 使用JSON.parse(JSON.stringify())创建深拷贝
let deepCopiedObject = JSON.parse(JSON.stringify(originalObject));
 
// 修改新变量的属性
deepCopiedObject.age = 27;
 
// 输出原始对象和新对象的年龄,验证是否为深拷贝
console.log(originalObject.age); // 输出 25
console.log(deepCopiedObject.age); // 输出 27
相关推荐
开开心心就好5 分钟前
办公软件卸载不干净?专用工具一键清残留
java·前端·人工智能·智能手机·kafka·excel·memcache
坤坤子吖16 分钟前
Python基础语法学习:条件、循环与程序控制
开发语言·笔记·python·学习
静默回滚20 分钟前
图片能显示,画进canvas却空白:像素面积上限
前端
补码缩写20 分钟前
canvas大图内存怎么算:宽×高×4只是第一份
前端
吠品21 分钟前
volatile到底在拦什么:SysTick->VAL读的哪格
java·服务器·开发语言
coding漫漫长路24 分钟前
img.decode()报错的图能画,load成功的却是空的
前端
不可能片场27 分钟前
AI视频首尾帧控制 用参考图定住镜头
前端·electron
修炼的dance32 分钟前
canvas最大能开多大:先看面积,再看导出格式
前端
付威202332 分钟前
Rust 所有权:看你的答对几道题?
javascript
西红柿炖牛腩35439 分钟前
Three.js 模型体积优化:Draco/Meshopt 压缩与 DRACOLoader 配置的 4 个步骤
javascript·3d·性能优化