转自:riahome.cn
基元数据类型包括: Boolean、int、Null、Number、String、uint 和 void ; 在使用的时候, 跟以往的AS2.0有很多不同之处.
Boolean 数据类型
Boolean 数据类型包含两个值:true 和 false。对于 Boolean 类型的变量,其它任何值都是无效的。已经声明但尚未初始化的布尔变量的默认值是 false。
int 数据类型
int 数据类型在内部存储为 32 位整数,它包含一组介于 -2,147,483,648 (-231) 和 2,147,483,647 (231 - 1) 之间的整数(包括 -2,147,483,648 和 2,147,483,647)。早期的 ActionScript 版本仅提供 Number 数据类型,该数据类型既可用于整数又可用于浮点数。在 ActionScript 3.0 中,现在可以访问 32 位带符号整数和无符号整数的低位机器类型。如果您的变量将不会使用浮点数,那么,使用 int 数据类型来代替 Number 数据类型应会更快更高效。
对于小于 int 的最小值或大于 int 的最大值的整数值,应使用 Number 数据类型。Number 数据类型可以处理 -9,007,199,254,740,992 和 9,007,199,254,740,992(53 位整数值)之间的值。int 数据类型的变量的默认值是 0。
Null 数据类型
Null 数据类型仅包含一个值:null。这是 String 数据类型和用来定义复杂数据类型的所有类(包括 Object 类)的默认值。其它基元数据类型(如 Boolean、Number、int 和 uint)均不包含 null 值。如果您尝试向 Boolean、Number、int 或 uint 类型的变量赋予 null,则 Flash Player 会将 null 值转换为相应的默认值。不能将 Null 数据类型用作类型注释。
Number 数据类型
在 ActionScript 3.0 中,Number 数据类型可以表示整数、无符号整数和浮点数。但是,为了尽可能提高性能,应将 Number 数据类型仅用于浮点数,或者用于 int 和 uint 类型可以存储的、大于 32 位的整数值。要存储浮点数,数字中应包括一个小数点。如果您省略了小数点,数字将存储为整数。
Number 数据类型使用由 IEEE 二进制浮点算术标准 (IEEE-754) 指定的 64 位双精度格式。此标准规定如何使用 64 个可用位来存储浮点数。其中的 1 位用来指定数字是正数还是负数。11 位用于指数,它以二进制的形式存储。其余的 52 位用于存储"有效位数"(又称为"尾数"),有效位数是 2 的 N 次幂,N 即前面所提到的指数。
可以将 Number 数据类型的所有位都用于有效位数,也可以将 Number 数据类型的某些位用于存储指数,后者可存储的浮点数比前者大得多。例如,如果 Number 数据类型使用全部 64 位来存储有效位数,则它可以存储的最大数字为 265 - 1。如果使用其中的 11 位来存储指数,则 Number 数据类型可以存储的最大有效数字为 21023。
Number 类型可以表示的最小值和最大值存储在 Number 类的名为 Number.MAX_VALUE 和 Number.MIN_VALUE 的静态属性中。
Number.MAX_VALUE == 1.79769313486231e+308
Number.MIN_VALUE == 4.940656458412467e-324
尽管这个数字范围很大,但代价是此范围的精度有所降低。Number 数据类型使用 52 位来存储有效位数,因此,那些要求用 52 位以上的位数才能精确表示的数字(如分数 1/3)将只是近似值。如果应用程序要求小数达到绝对精度,则需要使用实现小数浮点算术(而非二进制浮点算术)的软件。
如果用 Number 数据类型来存储整数值,则仅使用 52 位有效位数。Number 数据类型使用 52 位和一个特殊的隐藏位来表示介于 -9,007,199,254,740,992 (-253) 和 9,007,199,254,740,992 (253) 之间的整数。
Flash Player 不但将 NaN 值用作 Number 类型的变量的默认值,而且还将其用作应返回数字、却没有返回数字的任何运算的结果。例如,如果您尝试计算负数的平方根,结果将是 NaN。其它特殊的 Number 值包括"正无穷大"和"负无穷大"。
注意
|
|
在被 0 除时,如果被除数也是 0,则结果只有一个,那就是 NaN。在被 0 除时,如果被除数是正数,则结果为正无穷大;如果被除数是负数,则结果为负无穷大。
|
String 数据类型
String 数据类型表示一个 16 位字符的序列。字符串在内部存储为 Unicode 字符,并使用 UTF-16 格式。字符串是不可改变的值,就像在 Java 编程语言中一样。对字符串值执行运算会返回字符串的一个新实例。用 String 数据类型声明的变量的默认值是 null。虽然 null 值与空字符串 ("") 均表示没有任何字符,但二者并不相同。
uint 数据类型
uint 数据类型在内部存储为 32 位无符号整数,它包含一组介于 0 和 4,294,967,295 (232- 1) 之间的整数(包括 0 和 4,294,967,295)。uint 数据类型可用于要求非负整数的特殊情形。例如,必须使用 uint 数据类型来表示像素颜色值,因为 int 数据类型有一个内部符号位,该符号位并不适合处理颜色值。对于大于 uint 的最大值的整数值,应使用 Number 数据类型,该数据类型可以处理 53 位整数值。uint 数据类型的变量的默认值是 0。
void 数据类型
void 数据类型仅包含一个值:undefined。在早期的 ActionScript 版本中,undefined 是 Object 类实例的默认值。在 ActionScript 3.0 中,Object 实例的默认值是 null。如果您尝试将值 undefined 赋予 Object 类的实例,Flash Player 会将该值转换为 null。您只能为无类型变量赋予 undefined 这一值。无类型变量是指缺乏类型注释或者使用星号 (*) 作为类型注释的变量。只能将 void 用作返回类型注释。
Object 数据类型
Object 数据类型是由 Object 类定义的。Object 类用作 ActionScript 中的所有类定义的基类。ActionScript 3.0 中的 Object 数据类型与早期版本中的 Object 数据类型存在以下三方面的区别:第一,Object 数据类型不再是指定给没有类型注释的变量的默认数据类型。第二,Object 数据类型不再包括 undefined 这一值,该值以前是 Object 实例的默认值。第三,在 ActionScript 3.0 中,Object 类实例的默认值是 null。
在早期的 ActionScript 版本中,会自动为没有类型注释的变量赋予 Object 数据类型。ActionScript 3.0 现在包括真正无类型变量这一概念,因此不再为没有类型注释的变量赋予 Object 数据类型。没有类型注释的变量现在被视为无类型变量。如果您希望向代码的读者清楚地表明您是故意将变量保留为无类型,可以使用新的星号 (*) 表示类型注释,这与省略类型注释等效。下面的示例显示两条等效的语句,两者都声明一个无类型变量 x:
var x
var x:*
只有无类型变量才能保存值 undefined。如果您尝试将值 undefined 赋给具有数据类型的变量,Flash Player 会将该值 undefined 转换为该数据类型的默认值。对于 Object 数据类型的实例,默认值是 null,这意味着,如果尝试将 undefined 赋给 Object 实例,Flash Player 会将值 undefined 转换为 null。AS3.0里的基元数据类型
分享到:
相关推荐
在ActionScript 3.0中,数据类型可以分为基元数据类型和复杂数据类型: - **基元数据类型**(如整数、浮点数等)是按值传递的。这意味着当你将一个变量赋值给另一个变量时,实际上是创建了一个新的副本。 - 示例...
### 基元数据类型与复杂数据类型的传递方式 1. **基元数据类型**(如 int、uint、String 等)类似于“值类型”,在传递时会创建一个新副本。 2. **复杂数据类型**(如 Object、Array 等)类似于“引用类型”,在...
【新技术培训 培训讲义1_AS3数据类型.doc】文档主要涵盖了ActionScript 3.0中的数据类型、类型转换以及运算符等基础知识。ActionScript 3.0是一种面向对象的编程语言,广泛应用于创建Flash动画和应用程序,其语法...
核心语言定义了编程语言的基本结构,如声明变量、创建表达式、控制程序结构和数据类型等。而Flash Player API则提供了一系列用于实现特定功能的类。核心语言的新特色包括运行时的异常处理机制、运行时类型、密封类、...
此外,ActionScript 3.0的核心语言特性包括异常处理机制、运行时类型检查、密封类、闭包方法、E4X(XML的增强支持)、正则表达式、命名空间以及新基元类型,这些都极大地增强了语言的功能和灵活性。 Flash Player ...
1. 数据类型:在AS3中,数据是编程的基础,包括基元数据类型和复杂数据类型。基元数据类型如Boolean(布尔值,只有true和false)、int(32位有符号整数)、uint(32位无符号整数)、Number(64位浮点数)和String...
接下来,AS3中的数据类型分为两种主要类型:基元类型和复杂类型。基元类型包括Boolean、int、Number、String和uint,而复杂类型则涉及Array、Date、Error、Function、RegExp、XML和XMLList等。 条件语句在编程中起...
18.3 attribute的构造器和字段/属性的数据类型 18.4 检测定制attribute 18.5 两个attribute实例的相互匹配 18.6 检测定制attribute时不创建从Attribute派生的对象 18.7 条件attribute类 第19章 可空值类型 ...
1. **基元数据类型(值类型)**:在传递时,实际上是传递了一个副本。 2. **复杂数据类型(引用类型)**:在传递时,传递的是引用地址。 **示例代码**: ```actionscript // 基元数据类型示例 var intOne:int = 1; ...
8. 新基元类型:如int和uint,提供了更大范围的整数操作。 1.2.1 Flash Player API 新功能 Flash Player API提供了许多新类和功能,以增强Flash平台的性能和功能,例如: 1. DOM3事件模型:使事件处理更高效且符合...
- **新基元类型:**增加了新的数据类型,如整型和浮点型,提高了类型安全性和效率。 - **Flash Player API新功能:** - **DOM3事件模型:**提供了更加强大和灵活的事件处理机制。 - **显示列表API:**允许开发者...
为实现工业过程中对工件的实时定位,提出了一种基于圆弧基元的工件实时定位与匹配方法。离线过程中,将边缘轮廓多边形近似,进一步分割成线段基元和圆弧基元,制作模板,确定模板中工件的位姿。在线过程中,以最长...
- **新基元类型**:为数据类型提供了更高效、更精确的处理方式。 1.2.2 Flash Player API新功能 - **DOM3事件模型**:支持更复杂的事件处理,提高了用户界面的响应性。 - **显示列表API**:允许直接操作舞台上的...
综上所述,《一种新的纹理基元发现及表达方法》提出的创新技术,通过结合数据挖掘技术和纹理分析,为纹理基元的识别和表达开辟了新路径。这种方法不仅简化了纹理分析的复杂性,提高了算法的实用性,还为解决模糊和...
首先借鉴方块编码的思想来定义图像的纹理基元,然后在对纹理基元的统计分布研究的基础上,针对每一种纹理基元构造纹理基元空间分布图,提出采用纹理基元空间分布特征矢量对图像内容进行描述。实验结果表明,该算法既...
Probabilistic movement primitives for coordination of multiple human–robot collaborative tasks基于概率运动基元的多任务人机协作论文代码,