美文网首页
引用类型对象拷贝

引用类型对象拷贝

作者: Vincent_永 | 来源:发表于2017-08-18 00:04 被阅读0次

引用类型有哪些?非引用类型有哪些

  • 引用类型值(对象、数组、函数、正则():指的是那些保存在堆内存中的对象,变量中保存的实际上只是一个指针,这个指针执行内存中的另一个位置,由该位置保存对象。
  • 非引用类型
    非引用类型(基本类型值)(数值、布尔值、null和undefined):指的是保存在栈内存中的简单数据段;

如下代码输出什么?为什么?

代码1.jpg 1答案.jpg

如下代码输出什么? 为什么?

代码2.jpg 2答案.jpg

如下代码输出什么? 为什么?

3.jpg
3答案.jpg

过滤如下数组,只保留正数,直接在原数组上操作

代码4.jpg 4答案.jpg

过滤如下数组,只保留正数,原数组不变,生成新数组

代码5.jpg 5答案.jpg

写一个深拷贝函数,用两种方式实现

方法1

    function deepCopy(oldObj) {
    var newObj = {};
      for(var key in oldObj) {
          if(typeof oldObj[key] === 'object') {
              newObj[key] = deepCopy(oldObj[key]);
          }else{
            newObj[key] = oldObj[key];
          }
        }
    return newObj;
    }

方法2

      function deepCopy2(obj){
      return JSON.parse(JSON.stringify(obj));
      }
      var obj3 = {
        name:"ruoyu",
        age:20
      }
      var obj4 = deepCopy2(obj3);
      console.log(obj4);
      obj3.age = 33;
      console.log(obj4.age);

相关文章

  • Java深拷贝和浅拷贝

    定义 浅拷贝 基本数据类型 拷贝数值 引用类型 拷贝对象引用 深拷贝 基本数据类型 拷贝数值 引用类型 拷贝引用所...

  • 15.深浅拷贝

    浅拷贝:就是当被拷贝的对象的某个属性值为引用类型时,拷贝的对象会将被拷贝的对象的这个属性的引用的地址拷贝过来,这样...

  • 深拷贝和浅拷贝

    浅拷贝就比如像引用类型,而深拷贝就比如值类型。浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不...

  • 引用类型对象拷贝

    一.引用类型有哪些?非引用类型有哪些引用类型有对象、数组、函数、正则表达式非引用类型:数值、布尔值、null、un...

  • 引用类型对象拷贝

    1.引用类型有哪些?非引用类型有哪些 数据类型分为两类,即基本数据类型和引用类型,其中基本数据类型包括5样,num...

  • 引用类型对象拷贝

    引用类型有哪些?非引用类型有哪些 引用类型对象、数组、函数、正则非引用类型所有的基本类型:数值、字符串、布尔值、n...

  • 引用类型对象拷贝

    引用类型有哪些?非引用类型有哪些 引用类型值(对象、数组、函数、正则():指的是那些保存在堆内存中的对象,变量中保...

  • 引用类型对象拷贝

    1.引用类型有哪些?非引用类型有哪些 (1)引用类型包括:对象,数组,函数,正则。指的是那些保存在堆内存中的对象,...

  • 引用类型对象拷贝

    引用类型有哪些?非引用类型有哪些 引用类型值(对象、数组、函数、正则):指的是那些保存在堆内存中的对象,变量中保存...

  • 引用类型对象拷贝

    1.引用类型有哪些?非引用类型有哪些? 引用类型有:函数,对象,正则,数组。指的是那些保存在堆内存中的对象,变量中...

网友评论

      本文标题:引用类型对象拷贝

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