作业帮 > 综合 > 作业

as3 赋值的目标必须是引用值是什么意思?能不能讲的具体点

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 16:40:29
as3 赋值的目标必须是引用值是什么意思?能不能讲的具体点
其实在AS3.0中,都是引用关系.因为在AS3.0中,一切皆对象,都是Object的子类.引用又分为对值的引用和对对象的引用,引用的不同,区分了数据类型为简单数据类型(元数据类型)和复杂数据类型之分,这其实是优化计算机资源的核心,不同的程序对此的解释是不同的,但理念是相同的,都是优化资源.AS3.0中,简单数据(元数据)是不可变数据,复杂数据类型是可变的类型,这决定也其在内存中的不同存在形式.习惯上,我们把对复杂数据类型称为引用型,简单数据类型称为值类型.说得通俗点,我们举以下的小例子来说明一下:
var a:uint=5;
var b:uint=5;
trace(a==b);//true;
trace(a===b);//true;
这说明虽然我们声明了两个对象,但在内存中,并没生成新对象,只占用了一个对象5,这可以极大的节省资源.
var obj_1:Array=new Array();
var obj_2:Array=new Array();
trace(obj_1==obj_2);//false
trace(obj_1===obj_2);//false
这说明在内存中,这两个对象并不是一个,而是两个完全不同的对象,虽然表面上都是new Array(),但实质上是在内存中创建了两个新对象.
希望这些对你能有用,这个看似简单但却很难理解的东西,可以说能伴你学习程序的始终.理解它对学好编程很重要.这是我个人的理解,