本文和大家重点讨论一下Flex数据类型的用法,基元Flex数据类型包括Boolean、int、Null、Number、String、uint和void。ActionScript核心类还定义下列复杂的Flex数据类型:Object、Array、Date、Error、Function、RegExp、XML和XMLList。
Flex数据类型说明
基元数据类型包括Boolean、int、Null、Number、String、uint和void。ActionScript核心类还定义下列复杂数据类型:Object、Array、Date、Error、Function、RegExp、XML和XMLList。
◆Boolean数据类型
Boolean数据类型包含两个值:true和false。对于Boolean类型的变量,其它任何值都是无效的。已经声明但尚未初始化的布尔变量的默认值是false。
◆int数据类型
Flex数据类型中int数据类型在内部存储为32位整数,它包含一组介于-2,147,483,648(-231)和2,147,483,647(231-1)之间的整数(包括-2,147,483,648和2,147,483,647)。早期的ActionScript版本仅提供Number数据类型,该数据类型既可用于整数又可用于浮点数。在ActionScript3.0中,现在可以访问32位带符号整数和无符号整数的低位机器类型。如果您的变量将不会使用浮点数,那么,使用int数据类型来代替Number数据类型应会更快更高效。
对于小于int的最小值或大于int的最大值的整数值,应使用Number数据类型。Number数据类型可以处理-9,007,199,254,740,992和9,007,199,254,740,992(53位整数值)之间的值。int数据类型的变量的默认值是0。
◆Null数据类型
Flex数据类型中Null数据类型仅包含一个值:null。这是String数据类型和用来定义复杂数据类型的所有类(包括Object类)的默认值。其它基元数据类型(如Boolean、Number、int和uint)均不包含null值。如果您尝试向Boolean、Number、int或uint类型的变量赋予null,则FlashPlayer会将null值转换为相应的默认值。不能将Null数据类型用作类型注释。
◆Number数据类型
在ActionScript3.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+308Number.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)之间的整数。
FlashPlayer不但将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数据类型
Flex数据类型中void数据类型仅包含一个值:undefined。在早期的ActionScript版本中,undefined是Object类实例的默认值。在ActionScript3.0中,Object实例的默认值是null。如果您尝试将值undefined赋予Object类的实例,FlashPlayer会将该值转换为null。您只能为无类型变量赋予undefined这一值。无类型变量是指缺乏类型注释或者使用星号(*)作为类型注释的变量。只能将void用作返回类型注释。
◆Object数据类型
Object数据类型是由Object类定义的。Object类用作ActionScript中的所有类定义的基类。ActionScript3.0中的Object数据类型与早期版本中的Object数据类型存在以下三方面的区别:第一,Object数据类型不再是指定给没有类型注释的变量的默认数据类型。第二,Object数据类型不再包括undefined这一值,该值以前是Object实例的默认值。第三,在ActionScript3.0中,Object类实例的默认值是null。
在早期的ActionScript版本中,会自动为没有类型注释的变量赋予Object数据类型。ActionScript3.0现在包括真正无类型变量这一概念,因此不再为没有类型注释的变量赋予Object数据类型。没有类型注释的变量现在被视为无类型变量。如果您希望向代码的读者清楚地表明您是故意将变量保留为无类型,可以使用新的星号(*)表示类型注释,这与省略类型注释等效。下面的示例显示两条等效的语句,两者都声明一个无类型变量x:
varx
varx:*
只有无类型变量才能保存值undefined。如果您尝试将值undefined赋给具有数据类型的变量,FlashPlayer会将该值undefined转换为该数据类型的默认值。对于Object数据类型的实例,默认值是null,这意味着,如果尝试将undefined赋给Object实例,FlashPlayer会将值undefined转换为null。
相关推荐
Flex中的数据绑定机制会捕获一系列常见的错误,包括但不限于: - `Error#1006: Call attempted on an object that is not a function.` 当尝试对非函数对象执行调用时触发。 - `Error#1009: null has no properties...
### FLEX教程知识点详解 #### 1. FLEX概述 - **FLEX介绍**:FLEX是一种用于构建跨平台富互联网...通过以上知识点的学习,读者可以全面地掌握Flex及其相关技术栈的使用方法,从而能够开发出高质量的富互联网应用程序。
- **变量声明**:声明用于处理文件上传的变量,如`FileReference`类型的`file`用于处理文件选择,`ByteArray`类型的`byteArray`用于存储文件数据等。 - **可绑定变量**:定义了`picName`变量,并标记为`Bindable`,...
Spring 框架则用于服务端的依赖注入和事务管理,iBATIS 提供数据访问层的支持,Cairngorm 和 pureMVC 是两种常见的 Flex 企业级开发模式,它们提供了良好的架构指导,帮助组织和管理代码。 本系列教程涵盖了四种...
9. **Flex组件和自定义组件**:学习如何使用和扩展Flex内置组件,以及如何创建自己的自定义组件,以满足特定设计需求。 通过这份葵花宝典,你将能够从零开始,逐步掌握Flex和ActionScript 3.0,构建出功能丰富的、...
通过理解这些基本概念和操作,开发者可以有效地在Flex项目中使用JSON包来处理数据交换,提高应用的灵活性和可扩展性。在实际开发中,结合具体的博文内容和项目需求,这些知识将更具有针对性和实用性。
学习者需要了解变量、数据类型、控制结构、函数、类和对象等基础知识。 3. **MXML语言**:MXML是Flex的标记语言,用来声明用户界面组件和应用逻辑。它使得UI设计变得直观且易于理解,同时允许开发者将视图和业务...
7. **ArcGIS API for Flex 离线文档**: `ArcGIS+API+for+Flex+3.0离线文档.exe`是开发过程中不可或缺的参考资料,包含API的所有类、方法、属性及示例,便于开发者查找和使用GIS功能。 8. **Flex (Eclipse) 开发配置...
- **DataGrid组件**:详细介绍DataGrid的使用方法及其优势。 - **列表和树形结构**:学习如何使用列表和树形结构组件展示数据。 - **数据分页**:实现数据分页功能以提高加载速度。 **第9章:列表定制** - **...
- **开发工具**:Flex开发人员通常使用Adobe Flash Builder等工具进行开发,这部分内容会介绍这些工具的基本使用方法。 - **调试技巧**:调试是开发过程中不可或缺的一部分,本书将介绍一些有效的调试技巧。 - **...
- **调试Flex Mobile项目**:指导读者如何使用调试工具检查代码错误,以及如何在Android设备上安装和测试应用。 ##### 2.2 应用布局设计 本节重点讲解了不同的应用布局类型及其特点,包括空白应用、基于视图的应用...
1. 数据可视化组件:例如高级图表和图形,用于展示复杂的数据,可能支持各种图表类型如折线图、柱状图、饼图等,以及自定义样式和动画效果。 2. 用户界面元素:可能包含定制的按钮、滑块、进度条、菜单、面板等,...
"AdvDataGridDemo"是一个使用Flex技术实现的高级数据网格示例,而"Flex侧边停靠窗口"则是一种常见且实用的UI设计模式,它允许用户将窗口停靠到屏幕的边缘,以优化工作空间的使用。本文将深入探讨这两个知识点,并...
5. **数据保护**:涵盖各种数据源(如虚拟机、数据库、文件服务器)的备份方法,可能还包括云存储集成和跨平台支持。 6. **监控与管理**:解释如何使用 NetBackup 管理控制台来监控作业状态、报告、警报和性能。 7. ...
这些通道的作用是为MXML组件提供事件触发时所执行的方法注册路径,并且能在代码提示中可见,为组件的使用者提供了清晰的指导,指示了组件支持哪些事件。这些通道通常被称为“事件注册通道”。 例如,按钮组件的`...
首先,文章介绍了RT-flex60C柴油机燃油系统的常见故障类型,这些故障可能源于燃油供给单元,包括燃油供给泵、燃油循环泵、燃油混合桶、雾化加热器和自清滤器等部件。此外,RT-flex系列柴油机特有的电控共轨技术也...
通过“AS3.0中文帮助文档”,开发者可以深入学习这些概念,以及API的使用方法,从而更好地利用AS3.0进行开发。这份文档对于初学者和经验丰富的开发者来说都是一份宝贵的参考资料,能够帮助他们快速解决问题,提升...