数据类型说明
基元数据类型包括 Boolean、int、Null、Number、String、uint 和 void。ActionScript 核心类还定义下列复杂数据类型:Object、Array、Date、Error、Function、RegExp、XML 和 XMLList。
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 值包括"正无穷大"和"负无穷大"。
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
:
只有无类型变量才能保存值 undefined
。如果您尝试将值 undefined
赋给具有数据类型的变量,Flash Player 会将该值 undefined
转换为该数据类型的默认值。对于 Object 数据类型的实例,默认值是 null
,这意味着,如果尝试将 undefined
赋给 Object 实例,Flash Player 会将值 undefined
转换为 null
。
分享到:
相关推荐
6. **Flex数据解码** - 对于AMF数据的解码,开发者可以使用开源库,如Python的pyamf或Java的BlazeDS,它们提供了解码AMF消息的能力。解码后的数据可以是JSON、XML或其他结构化格式,便于分析和处理。 7. **安全与...
6. **性能优化**:Flex数据绑定系统还包含了一些性能优化,比如变化传播的限制和缓存机制,以避免不必要的更新和提高效率。 7. **表达式绑定**:除了简单的变量绑定,Flex还支持复杂的表达式绑定,可以连接多个数据...
注意,SharedObject的数据类型只能是原始类型,所以字节数组需要转换为Base64字符串或使用ByteArray。 4. 读取和解压:从SharedObject读取数据后,需要反向执行上述步骤,即先将Base64字符串转换回字节数组,然后...
在探讨“flex数据交互方式”这一主题时,我们首先需要理解Flex是什么以及它在数据交互中的角色。Flex是一种用于构建和部署丰富的互联网应用程序(RIA)的开源框架,由Adobe Systems开发并维护。它使用MXML(标记语言...
#### 三、Flex数据类型与对象模型 ##### 1. 数据类型 - **简单类型**:如字符串(String)、数字(Number)、布尔值(Boolean)。 - **复杂类型**:如对象(Object)、精灵(Sprite)、数组(Array)。 - **类型检查**:`isas`...
Spring BlazeDS项目提供了一套工具,可以自动将Flex数据类型映射到Java数据类型,简化了数据交换的过程。 4. **安全控制**:整合Spring Security可以为Flex应用提供用户认证和授权功能。通过在Spring Security配置...
在Flex4中,理解并熟练使用各种数据类型是开发高效、可维护的应用程序的关键。本视频教程专注于讲解Flex4中的常用数据类型,旨在帮助初学者和有经验的开发者更好地掌握这一核心概念。 ActionScript 3.0是Flex4的...
在.NET和Flex之间的数据交互,我们可以使用各种数据类型,例如字符串、对象、DataTable、List, ArrayList等。下面以两个示例来说明: 1. 返回对象: 在.NET中,我们可以创建一个Web方法(WebMethod),如`...
2. **列配置**:你可以自定义Datagrid的列,设置列的宽度、标题、数据类型等。此外,还可以添加各种类型的列,如文本列、图像列、日期列等。 3. **排序与过滤**:Datagrid支持单列或多列排序,用户只需点击列头即可...
Flex数据交换的基础是AMF(Action Message Format),它是一种二进制的消息格式,由Adobe设计用于提高Flex与服务器之间的数据传输效率。AMF不仅压缩数据,还支持序列化,使得对象能在客户端和服务器之间直接传递,...
AMF支持多种数据类型,包括对象、数组、日期等,并且能够处理复杂的数据结构。 2. BlazeDS:BlazeDS是Adobe提供的开源服务器端组件,它提供了AMF协议的支持,允许FLEX客户端与Java服务器进行双向通信。通过BlazeDS...
这个压缩包中的视频教程聚焦于AS3.0中常用的数据类型,这对于理解Flex4应用程序的基础至关重要。ActionScript 3.0是Flash平台的核心语言,它在性能、类型系统和面向对象编程方面有着显著的提升。 在ActionScript ...
主要聚焦于Flex框架下对日期、货币以及字符串等数据类型的验证与显示方法,并通过示例代码进行具体阐述。 ### Flex中的数据验证 Flex提供了丰富的功能来实现数据验证,这对于确保用户输入的有效性和准确性至关重要...
Flash Builder 提供了图形化的工具,使得开发者能够更轻松地连接数据服务、配置数据类型、构建客户端应用程序,并最终部署应用程序。 Flex 中的数据访问组件主要分为以下几类: 1. HTTPService 组件:允许 Flex ...
在给定的标题“Flex分页控件一次加载数据类型”中,我们关注的是一个特定的Flex控件,即用于分页显示数据的组件。 分页控件在处理大量数据时尤为重要,因为它允许用户逐步浏览内容,而不是一次性加载所有数据,从而...
本文将深入探讨“FLEX数据绑定专题”,包括其多种实现方式以及如何结合Java作为后端来实现数据交换。 首先,数据绑定是Flex中一种强大的工具,它简化了UI组件状态与应用数据之间的同步。在Flex 4中,数据绑定主要...
ActionScript,作为 Flex 的编程语言,其数据类型与 Java 有所不同。在进行数据交换时,了解它们之间的对应关系至关重要。以下是一些主要的数据类型转换规则: 1. **Null**: - 在 ActionScript 和 Java 中,`null...
【Flex数据与通讯】知识点详解 Flex数据与通讯主要涉及如何在Flex应用程序中与其他程序进行数据交换和传输,包括内部数据传输以及与外部服务(如HTTPService和WebService)的交互。下面将详细介绍Flex中数据传输的...
在IT行业中,数据可视化是一项关键技能,特别是在大数据...而提供的博客链接(https://z466459262.iteye.com/blog/901464)可能包含了更多关于Flex数据可视化的实践案例和深入解析,对于学习和提升这一技能非常有帮助。