ActionScript2经验分享-对象(Object)和数组(Array)的复制

手把手教你用Apollo Dreamview调试自动驾驶感知模块(附数据包下载) 本文详细介绍了如何使用百度Apollo平台的Dreamview工具调试自动驾驶感知模块,包括环境配置、数据加载、感知问题定位多传感器融合调试等关键步骤。通过实战案例参数调整技巧,帮助开发者快速掌握自动驾驶感知模块的调试方法,提升开发效率。 阅读详情

ActionScript2是一种面向对象的语言,因此在涉及到对象(Object)和数组(Array)的赋值操作时需要注意,单纯的赋值操作符"="只是将对象或者数组的引用赋值给新的变量,而不是复制整个对象或者数组,下面的代码是从网络上搜索到的,用于复制对象或者数组.

 

function duplicate(obj:Object):Object {
    if (typeof obj !== 'object' || obj === null) {
        return obj;
    }
    var c = obj instanceof Array ? [] : {};
    for (var i in obj) {
        if (obj.hasOwnProperty(i)) {
            c[i] = duplicate(obj[i]);
        }
    }
    return c;
}

 

但是这个方法也是有缺陷的,它只能复制对象的属性,不能复制对象的方法,所以好的方法是当我们建立新的类的时候,应该在类中写一个静态方法用于复制类的对象,代码示例如下:

 

Class A {
    var attrA: Object;
    var attrB: Array;
    var attrC: String;
   
    function A() {
        //类的初始化
    }
   
    static function clone(obj: A) : {
        var cObj : A = new A();
        cObj.attrA = duplicate(obj.attrA);
        cObj.attrB = duplicate(obj.attrB);
        cObj.attrC = obj.attrC;
        return cObj;
    }
}

SAP PS 收入确认方法配置清单(成本推导收入 / 项目进度推导收入) 摘要:本文详细介绍了SAPPS模块中两种收入确认方法的配置流程:成本推导收入(成本比例法)项目进度推导收入(里程碑法)。通过事务码OKG1-OKG5等关键配置步骤,分别实现基于累计成本比例里程碑完成权重的收入确认逻辑。文章对比了两种方法的适用场景管控要点:成本法适用于成本与进度强相关的项目,需严控预计总成本;进度法则依赖明确的里程碑验收。同时提供了落地建议,包括项目类型绑定、数据校验变更管控等最佳实践,为SAPPS系统收入确认功能实施提供完整指导。 阅读详情

相关推荐

ActionScript 2

一步一步学ActionScript 2

一步一步学ActionScript 2

一步一步学ActionScript 2

艾利iriver Astell&Kern SA700 1.21升级固件(不可换名装APP)

1. 首先确定机器有超过50%的电!2. 建议备份一下机器内歌曲(刷机之后理论上歌曲保留但所有APP均会被删除)3. 将需要升级的固件修改文件名成 update.hex 通过电脑拷贝到机器根目录,之后等待会自动提示OK,点击进入刷机模式自动刷机

java复制一个对象数组_数组对象的拷贝【Java拾遗】

一、数组的拷贝主要有以下几种方式。1、Object.clone()该方法继承自Object类,数组元素为基础数据类型(boolean、char、byte、short、int、float、double、long)String类型,均可使用。int[] arr1 = {1,2,3};    int[] arr2 = arr1.clone();  //arr2={1,2,3}String[] ar...

weixin_42298382的博客 682

对象(Object)常用方法,对象拷贝

一.对象(Object)常用方法   Object类是一个特殊的类,是所有类的父类,如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类 1.Object.assign(target,source1,source2,…)   该方法主要用于对象的合并,将源对象source的所有可枚举属性合并到目标对象target上,此方法只拷贝源对象的自身属性,不拷贝继承的属性。 ...

weixin_44389466的博客 319

ActionScriptActionScript2.0的Helloworld

这就是Flash内的编程。Flash中的脚本语言有ActionScript3.0与ActionScript2.0,两者完全不一样,这就是个坑,把所有的语法都改掉了,对很多当年的Flash高手很不负责任。本篇文章介绍当年在互联网红极一时的Flash的ActionScript2.0编程的Helloworld。Flash官方还不敢删去ActionScript2.0的支持,毕竟有众多的支持者,同时在网上,

编程记录,亲测有效 6464

ActionScript 2ActionScript 3.0

I know the transition can be hard. We got used to the ease of use ActionScript 2 had, but honestly, it became problematic later on, especially if designers were involved in the pr...

cunchi8090的博客 391

ActionScript2 delegate 研究()

委托这个概念在C#/java中用得比较多,有点儿像C++中的函数指针,但比它更先进.这里有msdn对Delegate类的文档:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfSystemDelegateClassctorTopic.asp然而Actionscript2对Dele

AOL's Web Log 2986

as3中Array数组复制数组清空的方法

ActionSctipt中Array复制方法,常用有三种:    一、slice 此方法不改变原数组。    二、splice 此方法改变原数组。    三、用ByteArray实现深复制。前两者均为浅复制。    有意思的是,使用splice用于数组清空时,第二个参数可以不传递。实现代码如下:      /**    * 清空数组但不改变其地址    *    * @param arr 已

czx33859066的专栏 8863

ActionScript中的vectorarray

ActionScript中的vectorarray Array: The Array class lets you access and manipulate arrays. Array indices are zero-based, which means that the first element in the array is [0], the second element is [

格物致知 2366

Array复制

 ActionSctipt中Array复制方法,常用有三种:    一、slice 此方法不改变原数组。    二、splice 此方法改变原数组。    三、用ByteArray实现深复制。前两者均为浅复制。    有意思的是,使用splice用于数组清空时,第二个参数可以不传递。实现代码如下:         public static function clear(arr : A...

yangactive的专栏 207

AS3数组复制

在actionscrip3.0中是没有提供内置的数组克隆的方法的,摸索了一下,如下得论: 1.浅层复制的话,可以使用Array类的concat()或者slice()的无参方法来创建一个新数组,如下:    var bb:ArrayCollection = new ArrayCollection();    var a:Dictionary = new Dictionary();    a.nam...

as3 delphi 409

as3中数组复制数组清空

    本文主要介绍在as3中数组复制数组清空的方法,以及Array.splice方法的使用。        ActionSctipt中Array复制方法,常用有三种:    一、slice 此方法不改变原数组。    二、splice 此方法改变原数组。    三、用ByteArray实现深复制。前两者均为浅复制。    有意思的是,使用splice用于数组清空时,第二个参数可以不传递。实...

Roger 263

在AS3中,如何实现数组对象的深拷贝?

大概谈了以下4个简单的问题,如果读者对它们的答案都了如指掌,大可不必看了。 1)在AS3中实现数组复制共有几种方法? 2)如何使用ByteArray实现数组的深拷贝? 3)如何实现所有对象的深拷贝? 4)为什么在Flash Player中不能使用ByteArray拷贝显示对象?     1,使用concat复制数组 var arr1 :Array = "as3 expe...

as3 delphi 255

我也水一个读书笔记!Array 数组

我也水一个读书笔记!Array 数组 Array 数组 来源:http://bbs.actionscript3.cn/thread-1635-1-3.html 声名数组:例 var a:Array;//声名一个a数组,但没有告诉a这个引用指向.trace (a);//得到null var b:Array=[];//声名一个空数组b,trace(b);//得到空白显示 var c:Array...

zhongguo168a的专栏 196

(转)as3数组的深复制复制

自:http://bbs.9ria.com/blog-1532-16623.html 当数组中存在Bitmap而进行深度复制时,数据类型丢失,折磨了两天,参考了各种资料无果(资料如下),尝试进行如下操作解决了!有时候思维往往被禁锢,跳出来,其实很简单!   var newArr:Array = []; for (var i:int = 0; i < oldArr.length; ...

weixin_34082695的博客 91

数组 (actionscript)

介绍:数组是编写强大ActionScript程序基础。 数组提供了把一组相关的数据联系起来的功能,并且具有管理处理数据的能力。数组队我们来说并不是有多么的难以理解,在我们平时生活中经常接触类是的东西。比如我们可以把一组食品的列表当作数组,人们的住址名册包含名字,地址,出生日期等等。图书馆是用索引系统来管理图书,概念上来说,每本书就是图书馆数组的一个元素。 在ActionScr...

hereson 221

flex array数组

 常见数组任务 本章介绍了以下常见的数组使用活动: ■ 创建索引数组 ■ 添加删除数组元素 ■ 对数组元素进行排序 ■ 提取数组的某些部分 ■ 处理关联数组字典 ■ 处理多维数组复制数组元素 ■ 创建数组子类 重要概念术语 以下参考列表包含将会在本章中遇到的重要术语: ■ 数组 (Array):用作容器以将多个对象组合在一起的对象。 ■ 关联数组 (Associative array)

zhyleazhong的专栏 2319

ActionScript 3.0 对象克隆 & 深拷贝

对象克隆可以复制出一个已存在对象相同的对象,并且两个对象没有关联。ActionScript 3.0中克隆对象使用的是ByteArray类。以前一直以为这个方法只对数组有用,其实这个方法适用于所有的对象。方法很简单,如下: private function clone(obj:Object):* {             var copier:ByteArray = new ByteAr

木兮小站 3044
上一篇: Fedora 13在Virtual PC 2007上桌面的配置
CunningBoy
博客等级 码龄25年 207粉丝 3原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值