什么是浅拷贝?浅拷贝就是创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象改变了这个内存中的地址所指向的对象,肯定会影响到另一个对象。
浅拷贝基本介绍:
| 方法 | 使用方式 | 注意事项 | 
|---|---|---|
| Object.assign() | Object.assign(target, …sources) 说明:用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象。 | 1.不会拷贝对象的继承属性; 2.不会拷贝对象的不可枚举的属性; 3.可以拷贝 Symbol 类型的属性。 | 
| 展开语法 | let objClone = { …obj }; | 缺陷和 Object.assign()差不多,但是如果属性都是基本类型的值,使用扩展运算符进行浅拷贝会更加方便。 | 
| Array.prototype.concat()拷贝数组 | const new_array = old_array.concat(value1[, value2[, ...[, valueN]]]) | 浅拷贝,适用于基本类型值的数组 | 
| Array.prototype.slice()拷贝数组 | arr.slice([begin[, end]]) | 浅拷贝,适用于基本类型值的数组 | 
浅拷贝代码示例:
function shallowClone(target) {
  if (typeof target === 'object' && target !== null) {
    const cloneTarget = Array.isArray(target) ? [] : {};
    for (let prop in target) {
      if (target.hasOwnProperty(prop)) {
        cloneTarget[prop] = target[prop];
      }
    }
    return cloneTarget;
  } else {
      return target;
  }
}
// 测试
const shallowCloneObj = shallowClone(obj)
shallowCloneObj === obj  // false,返回的是一个新对象
shallowCloneObj.arr === obj.arr  // true,对于对象类型只拷贝了引用
上面是“什么是javascript浅拷贝”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_2529.html
workflows工作流
 一只巨大的极其精细的鞋子ComfyUI工作流 一只巨大的极其精细的鞋子ComfyUI工作流
 三阶放大comfyui工作流 三阶放大comfyui工作流
 一个女人站在海边的岩石上,飞来一只鸟 一个女人站在海边的岩石上,飞来一只鸟
 一轮月亮悬挂在树上的天空中ComfyUI工作流 一轮月亮悬挂在树上的天空中ComfyUI工作流
 图片转视频ComfyUI工作流 图片转视频ComfyUI工作流
 一只处于战斗状态下的蚂蚁ComfyUI工作流 一只处于战斗状态下的蚂蚁ComfyUI工作流
 一个巨大的漆黑的蟹王ComfyUI工作流 一个巨大的漆黑的蟹王ComfyUI工作流
 一个十几岁的美国女孩穿着黄色连帽衫在黑暗和空虚的背景下闲逛 一个十几岁的美国女孩穿着黄色连帽衫在黑暗和空虚的背景下闲逛
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

 3d空间行走效果
 3d空间行走效果 iframe开发admin后台
 iframe开发admin后台 做一个好玩的时钟翻牌效果
 做一个好玩的时钟翻牌效果 javascript如何利用draggable实现一个拖拽效果
 javascript如何利用draggable实现一个拖拽效果 自动打字效果(惊喜在后面)
 自动打字效果(惊喜在后面) 纯CSS饼图效果
 纯CSS饼图效果 css3做一个风雨雷电天气动态图标
 css3做一个风雨雷电天气动态图标 会议人员60s签到倒计时插件
 会议人员60s签到倒计时插件










