如果想要把某个对象拷贝(合并)给另外一个对象使用,此时可以使用$.extend()方法
      语法:
        $.extend([deep],target,object1,[objectN]);
          1.deep:如果设为true为深拷贝,默认false浅拷贝
          2.target:要拷贝的目标对象
          3.object1:待拷贝到第一个对象的对象
          4.objectN:待拷贝到第 N 个对象的对象
          5.浅拷贝是把被拷贝的对象复杂数据类型中的地址拷贝给目标对象,修改目标对象会影响被拷贝对象
          6.深拷贝,前面加true,完全克隆(拷贝的对象,而不是地址),修改目标对象不会影响被拷贝对象         $(function(){
          var targetObj = { } ;
          // 第一种情况:
          var obj ={
            id : 1 ,
            name : "andy"
          };
          $.extend( targetObj , obj ) ; // 把 obj 中的数据 拷贝到 targetObj中
          console.log( targetObj); // id : 1 , name : " andy "            // 第二种情况:
           var targetObj = {
             id : 0
           } ;
           var obj ={
            id : 1 ,
            name : "andy"
           };
          $.extend( targetObj , obj ) ; // 把 obj 中的数据 拷贝到 targetObj中
          console.log( targetObj); // id : 1 , name : " andy " // 会覆盖 targetObj 里面的数据            // 第三种情况:
           var targetObj = {
             id : 0
             msg : {
             sex : ' 男 '
             }
           } ;
           var obj ={
            id : 1 ,
            name : "andy"
            msg : {
             age : 18
            }
           };
          $.extend( targetObj , obj ) ; // 把 obj 中的数据 浅拷贝到 targetObj中
          console.log( targetObj); // id : 1 , name : " andy " msg{age:18} // 会覆盖 targetObj 里面的数据 ,复杂对象只会拷贝数据中的地址
    

              //  第四种情况:
           var targetObj = {
             id : 0
             msg : {
             sex : ' 男 '
             }
           } ;
           var obj ={
            id : 1 ,
            name : "andy"
            msg : {
             age : 18
            }
           };
          $.extend( true , targetObj , obj ) ; // 把 obj 中的数据 深拷贝到 targetObj中
          console.log( targetObj); // id : 1 , name : " andy " msg{age:18,sex:'男'} // 深拷贝把里面的数据完全复制一份给目标对象,如果里面有不冲突的属性,会合并到一起

        })

  

对象拷贝extend的更多相关文章

  1. 也说Javascript对象拷贝及疑问

    一.浅拷贝 当我们需要将一个对象拷贝至另一个对象时,我们一般会这么实现 function shadowCopy(source,target){ var target=target||{}; for(v ...

  2. js对象拷贝的方法

     对象拷贝的方法是一个难点,尤其是深拷贝.建议把代码都运行下,帮助理解拷贝. 一. json方法 1. 适合情况:  JSON对象的深度克隆.方法是先JSON.stringify() 转为json字符 ...

  3. javascript中的对象拷贝

    js中的数据类型 在介绍javascript中的对象的拷贝之前,我先介绍一个基础的东西,javascript中的数据类型. 我们做前端的应该都知到在es6 之前,javascript中的数据类型Boo ...

  4. 《Python CookBook2》 第四章 Python技巧 对象拷贝 && 通过列表推导构建列表

    (先学第四章) 对象拷贝 任务: Python通常只是使用指向原对象的引用,并不是真正的拷贝. 解决方案: >>> a = [1,2,3] >>> import c ...

  5. python中的对象拷贝

    python中.进行函数參数传递或者返回值时,假设是一般的变量,会拷贝传递.假设是列表或字典则是引用传递.那python怎样对列表和字典进行拷贝传递呢:标准库的copy模块提供了两个方法:copy和d ...

  6. OC中对象拷贝概念

    OC中的对象拷贝概念,这个对于面向对象语言中都会有这种的问题,只是不同的语言有不同的解决方式:C++中有拷贝构造函数,Java中需要实现Cloneable接口,在clone方法中进行操作.但是不过OC ...

  7. C# 对象拷贝问题 =等同于浅拷贝

    大家都知道,在C#中变量的存储分为值类型和引用类型两种,而值类型和引用类型在数值变化是产生的后果是不一样的,值类型我们可以轻松实现数值的拷贝,那么引用类型呢,在对象拷贝上存在着一定的难度.     下 ...

  8. Java Object 对象拷贝答疑

    Java Object 对象拷贝答疑 @author ixenos 摘要:在对象的clone过程需要注意的几点.关于关键字this.super 关于clone[对象拷贝] 在实际编程过程,有时候我们会 ...

  9. Java Object 对象拷贝

    Java Object 对象拷贝 @author ixenos JAVA 对象拷贝 Java里的clone分为:  1.浅拷贝:浅复制仅仅复制所考虑的对象,而不复制它所引用的对象,Object类里的c ...

随机推荐

  1. 程序性能优化之APK大小优化(六)上

    阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680 本篇文章将继续从APK瘦身来介绍APK大小优化:文章主要内容从理 ...

  2. 错误ORA-01110,在已删除数据文件情况下如何删除表空间

    如果先行删除了数据文件,再删除表空间,drop tablespace 会出现如下错误: ORA-01116: error in opening database file 89 ORA-01110: ...

  3. 如何安装python运行环境Anaconda

    参考视频:https://v.qq.com/x/page/u05499rig9s.html

  4. SQL中的DDL、DML、DCL、TCL

    1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema ...

  5. javascript 中的函数

    /*   第二天   */ 函数 函数是js里最有趣的东西了,函数实际上就是对象,每个函数Function类型的实例,函数名实际上是指向函数对象的指针.不带圆括号的函数时访问函数的指针,带圆括号的是调 ...

  6. Oracle数据库创建与连接

    一.Oracle数据库的安装 1.下载Oracle数据库 网址:Oracle 数据库软件下载 | Oracle 技术网 | Oracle 由于需要注册,所以我就没有采用这种下载方式,  右击该网页查看 ...

  7. 关于_getattr_方法的一些理解

    在学习rest framework的过程中,rest framework的request是经过重构的,但是如果调用重构对象request中的属性,如果属性不存在会调用原request对象中的属性,它使 ...

  8. Fatal error compiling: invalid target release: 11 -> [Help 1]

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compi ...

  9. Uninstall NetBeans

    There will be a file named uninstall.sh in /usr/local/netbeans-x.x if you installed netbeans with ro ...

  10. vue 页面回退mounted函数不执行的问题及解决方法

    前言 最近做项目碰到一个很头大的问题--从a页面跳到b页面进行编辑,编辑完再返回a页面,却没走a页面的钩子函数mounted,数据没有更新 经过一番面向百度研究,终于找到了问题所在.接下来就记录一下这 ...