美文网首页
浅复制与深复制

浅复制与深复制

作者: 页面仔小杨 | 来源:发表于2017-10-31 09:29 被阅读0次

浅复制与深复制


栗子1:

var nums = [];

for (var i = 0; i < 100; ++ i) {

  nums[i] = i+1;

}

var samenums = nums;

nums[0] = 400;

console.log(samenums[0]);  // 显示400

以上为浅复制。当把一个数组赋给另一个数组时,只是为被赋值的数组增加一个新的引用,新数组依然指向原来的数组。

栗子2:

function copy(arr1, arr2) {

  for(var i = 0; i < arr1.length; ++i) {

    arr2[i] = arr1[i];

  }

}

var nums = [];

for (var i = 0; i < 100; ++i) {

  nums[i] = i+1;

}

var samenums = [];

copy(nums, samenums);

nums[0] = 400;

console.log(samenums[0]); // 显示 1

以上为深复制。将原数组中的每一个元素都复制一份到新数组中。

相关文章

  • 设计模式 - 原型模式

    注意深复制与浅赋值的问题 C#中如果需要实现深复制,必须实现 ICloneable 接口。

  • 深拷贝(复制)与浅拷贝(复制)

    对于字符串类型,浅复制是对值的复制,对于对象来说,浅复制是对对象地址的复制,并没有开辟新的栈,也就是复制的结果是两...

  • Java 浅拷贝和深拷贝 拷贝和复制

    Java 复制与拷贝 大纲 浅拷贝和深拷贝 浅拷贝就是复制对象的一个精确副本 ==对于基本数据类型就是复制值,对于...

  • Javascript对象的深浅拷贝

    开门见山,有人叫对象的复制为深复制浅复制,也有人叫深拷贝浅拷贝。其实都是copy。 深拷贝(递归复制,复制所有层级...

  • 浅|深 复制

    浅复制 //只写main函数 //结果是 我们可以看到一旦pointArray1发生了改变pointArray2也...

  • 前端笔记(二) 对象的深浅拷贝,函数的防抖与节流,函数柯里化 ,

    对象的深浅拷贝 对象的深拷贝与浅拷贝的区别: 浅拷贝:仅仅复制对象的引用, 而不是对象本身。 深拷贝:把复制的对象...

  • JS深浅拷贝

    浅拷贝 浅拷贝的意思就是只复制引用,而未复制真正的值。 深拷贝 深拷贝就是对目标的完全拷贝,不像浅拷贝那样只是复制...

  • 浅拷贝与深拷贝

    一 、基本概念 1.1 深拷贝 与 浅拷贝 对象拷贝有两种方式:浅复制和深复制。顾名思义,浅复制,并不拷贝对象本身...

  • 2018-01-06 关于javascript的深拷贝浅拷贝 思

    目录: 什么是复制? 一个简单的浅复制 一个深复制的例子 普遍的深浅复制的几种实现方法 深拷贝,浅拷贝什么是复制?...

  • python中复制,浅拷贝,深拷贝

    python中包含复制 浅拷贝与深拷贝 1.复制 复制没有拷贝子对象,未开辟新内存空间,也没有产生新object,...

网友评论

      本文标题:浅复制与深复制

      本文链接:https://www.haomeiwen.com/subject/qkvvpxtx.html