• 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.回调函数返回单个元素比较结果。

  • 相关阅读:
    一个重构眼中的“项目管理”
    vim显示行号、语法高亮、自动缩进的设置
    python中的try/except/else/finally语句--自我小结
    python 列表函数
    python异常处理
    gerrit使用总结
    数据访问对象模式
    组合实体模式
    业务代表模式
    MVC模式
  • 原文地址:https://www.cnblogs.com/axyz/p/2231472.html
Copyright © 2020-2023  润新知