zoukankan      html  css  js  c++  java
  • as3 浅复制 深复制

    基元数据类型:boolean、int、uint、number、string

    两种复杂数据类型:array、object

    当数组元素全部是基元数据类型时,即全部是值类型时,是没有浅复制和深复制的区别。

    当数组元素全部是复杂数据类型,即引用类型时,复制有2种选择,浅复制和深复制。

    当数组元素部分是基元数据,部分是复杂数据时,这时候,对于基元数据类型的元素,采用哪种复制方式效果都一样。

    只有对于复杂数据元素,才有浅复制和深复制的区别。

    浅复制:调用原数组的slice或concat方法,不传任何参数。浅复制生成的新数据,各个元素存放的只是引用。2个数组中

    相同位置的元素存放的引用指向同一个对象,如果对该元素操作,等于就是操作引用指向的对象。如果对象状态发生变化,

    也会影响到另一个数组中对应位置的元素。

    深复制:生成的新数组,其所有元素都是真正的原数据元素的备份,这个时候相同位置的元素,存放的是不同的引用,指向不同的对象。但是这2个对象的状态是完全一致的。

    **==运算符,对于引用类型,判断的是变量持有对象的引用是否相同,而不是内容相同。对于值类型,是通过value来判断的。

    操作数组中的每个元素:

    foreach (遍历操作): 操作数组中的每一个元素,回调函数不需要返回值。

    filter(过滤):将符合条件的元素提出来,构成一个新的数组返回。回调函数返回单个新数组元素。

    map(映射器):根据回调函数操作数组每个元素,并利用回调函数的结果生成新的数组。回调函数返回单个新数组元素。

    some(有一个满足则为真):只要有一个元素能让回调函数返回true,则some()返回true,否则为false.回调函数返回单个元素比较结果。

    every(全员满足才为真):必须所有元素都让回调函数返回true,every()才返回true,否则为false.回调函数返回单个元素比较结果。

  • 相关阅读:
    POJO,简单的Java对象
    Oracle 11g R2 for Win7旗舰版(64位)- 安装
    Eclipse安装与配置
    Tomcat 安装、配置与部署
    图形数据库 Neo4j 开发实战【转载】
    Java 语言中 Enum 类型的使用介绍【转载】
    IBM Java 7 新特性和在 WAS 8.5 中的配置【转载】
    为Eclipse指定JVM
    网页页面的宽度:950 还是 960?
    Zabbix + Grafana
  • 原文地址:https://www.cnblogs.com/axyz/p/2231472.html
Copyright © 2011-2022 走看看