博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
as3 浅复制 深复制
阅读量:4310 次
发布时间:2019-06-06

本文共 860 字,大约阅读时间需要 2 分钟。

基元数据类型: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.回调函数返回单个元素比较结果。

转载于:https://www.cnblogs.com/axyz/archive/2011/11/01/2231472.html

你可能感兴趣的文章
python之偏函数
查看>>
vnpy学习_06回测结果可视化改进
查看>>
读书笔记_量化交易如何建立自己的算法交易01
查看>>
设计模式03_工厂
查看>>
设计模式04_抽象工厂
查看>>
设计模式05_单例
查看>>
设计模式06_原型
查看>>
设计模式07_建造者
查看>>
设计模式08_适配器
查看>>
设计模式09_代理模式
查看>>
设计模式10_桥接
查看>>
设计模式11_装饰器
查看>>
设计模式12_外观模式
查看>>
设计模式13_享元模式
查看>>
设计模式14_组合结构
查看>>
设计模式15_模板
查看>>
海龟交易法则01_玩风险的交易者
查看>>
CTA策略02_boll
查看>>
vnpy通过jqdatasdk初始化实时数据及历史数据下载
查看>>
设计模式19_状态
查看>>