AS3殿堂之路:数据类型与变量深入解析

需积分: 9 2 下载量 144 浏览量 更新于2024-07-31 收藏 350KB DOC 举报
"这是一份关于Flash ActionScript 3 (AS3) 的学习笔记,涵盖了AS3的基础知识,特别是数据类型和变量的声明与使用。笔记内容包括AS3中的基本数据类型(如Boolean、int、Number、String和unit)以及复杂数据类型(如Array、Date等)。此外,还讨论了值类型和引用类型的区别,通过示例展示了它们在赋值和操作上的差异。" 在ActionScript 3中,数据类型是一个关键概念,因为AS3是一个完全面向对象的语言,这意味着所有数据都被视为对象。基本数据类型包括布尔型(Boolean)、整型(int)、数字型(Number)、字符串型(String)和无符号整型(unit)。这些类型在初始化时会有默认值,例如Boolean默认为false,int默认为0,Number为NaN,String为null,而unit通常用于颜色,其默认值也是0。 AS3的变量声明遵循静态类型系统,类似于Java,需要在声明时指定变量的数据类型。声明格式通常为 `var 变量名:数据类型;`,若要同时赋值,可以写作 `var 变量名:数据类型 = 值;`。如果未指定类型,可以使用 `untyped` 或 `*` 表示不指定类型。 值类型和引用类型是AS3中的两种主要类别。值类型包括基本数据类型,它们可以直接赋值,无需使用 `new` 关键字。而引用类型,如Array、Date等,则必须通过 `new` 来实例化。值类型在赋值时会发生复制,而引用类型则是复制引用,修改引用类型的一个实例会影响到所有引用该实例的变量,这一点在示例1和示例2中有所体现。 在示例1中,当b被赋值为a的副本后,对b的修改不会影响a。而在示例2中,由于Array是引用类型,b和a实际上指向同一个Array对象,所以修改b会影响到a。在示例3中,b被重新分配了一个新的Array对象,因此修改b不会影响到a,体现了引用类型的特点。 在Java中,值类型(如int)不是以对象的形式存在,它们的变量存储的是实际的值,而不是对象的引用。而在AS3中,即使是基本数据类型,它们在内存中也是以对象的形式存储,这也是AS3作为完全面向对象语言的一个特征。 这份笔记虽然只包含了前8章的内容,但它已经为理解AS3的数据处理和类型系统提供了坚实的基础,对于想要深入学习AS3的开发者来说,是一个宝贵的参考资料。