1.AS3中的数据类型
AS3中所有的数据都是对象。(Everything is an Object 相对于Java 它是完全面向对象 Java基本数据类型不是继承Object类)
AS3中最核心的类是Object类。所有一切类都继承自Object类。
AS3中的数据类型 分为基本数据类型和复杂数据类型
基本数据类型包括:Boolean ,int,Number,String和unit (注意大小写 与Java不同)
Boolean 默认值false
int 默认值 0 ,32位整数
Number 默认值 NaN,64位浮点数
String 默认值null ,字符串
unit 默认值0 ,一般用于颜色上
复杂数据类型包括:Array,Date,Error,Function,RegExp,XML,XMLList,我们自己定义的类。
2.变量的声明和使用
AS3和Java 一样,变量必须先声明再使用
在AS3中变量声明格式如下:
var 变量名:数据类型;
var 变量名:数据类型 = 值;
Var 是一个关键字,用来声明变量。变量的数据类型写在冒号后面。其次,如果要赋值,数据类型和变量声明的必须一致(与Java相同 静态语言的编译时检查),如果没有赋值,变量会根据自己的类型赋予默认值。
var a; 声明a未指定类型 (untyped)
var b:*; 效果同上
3.值类型和引用类型的区别
值类型等同于基本类型,其余全都是引用类型。
值类型的数据可以不用new关键字来创建,当然也可以用new关键字创建。必须用new关键字创建的一定不是值类型。
例1
var a:int = 3;
var b:int = a;
b = 9;
trace(a); //结果3
trace(b); //结果9
例2
var a:Array = new Array(1,2,3);
var b:Array = a;
b[0] = 100;
trace(a); //结果 100,2,3
trace(b); //结果 100,2,3
例3
var a:Array = new Array(1,2,3);
var b:Array = a;
b = new Array(100,200,300);
b[0] = 10;
trace(a);//结果1 2 3
trace(b);//结果10 200 300
AS3中的引用类型和java中的非基本类型相同
4.基本数据类型
在Java中,值类型并不是以对象形式存在的。值类型的变量,存储的不是引用,而是直接容纳了值,AS3中即使是值类型,也存储的是引用,只不过引用的是特殊对象(不可变对象)
5.使用const声明常量
语法
const foo:int = 45;
foo = 100;//报错
6.详细讲解基本数据类型
布尔型:Boolean
比较AS2和AS3中的区别
//AS2
var b:Boolean;
trace(b); //undefined
trace(b == false); //false
//AS3
var b:Boolean;
trace(b); //false
trace(b == false) ;//true
数字型
int 是有符号32位的整型数
unit 是没有符号的32位整型数
Number 是64位浮点数
能用整数优先使用int和unit。
只处理正整数时,处理颜色时使用unit。
有小数时使用Number。
例
var a:int = 9;
var b:int = a/2;
trace(b);//4
var c:Number = a/2;
trace(c);//4.5
要小心整数数值的边界
var i:unit = 0;
i--;
trace(i); //期望的结果是-1 实际结果是4294967295
字符串String
var stringSample1:String ;
var stringSample2:String = "";
var stringSample3:String = new String();
var stringSample4:String = "abc";
var stringSample5:String = new String("abc");
var stringSample6:String = 'abc';
var stringSample:String = "this is a sample";
var stringLength:String = stringSample.length;
数组:Array
Var a:Array;
Var b:Array = [];
Var c:Array = new Array();
Var d:Array = [1,2,3,4];
Var e:Array = new Array(1,2,3,4);
Var f:Array = new Array(5);
Object
Object的成员有两种:一种是属性,一种是函数
声明一个Object
//1.使用构造方法
var foo:Object = new Object();
//2.使用空的大括号
var bar:Object = {};
//3可以写入属性和方法
var foo1:Object = {id:10,name:"hurry",hello:function(){return "Hello !!!"}};
trace(foo1.name);
trace(foo1.hello());
//4.Object可以动态的添加属性
var student:Object = {};
student.id = 1;
student.name = "hurry";
trace(student.name);
//5.动态添加方法
student.sleep = function() {
trace("I am sleep !!!");
}
student.sleep();
//6使用.或[]访问Object属性
多位数组
var sampleArray1:Array = [ [1, 2, 3 ] , [ 4, 5, 6 ] , [ 7, 8, 9 ] ];
trace(sampleArray1[1]);
trace(sampleArray1[1][2]);
var sampleArray2 = new Array(new Array(1,2,3), new Array(4,5,6), new Array(7,8,9) );
trace(sampleArray2[2][1]);
var sampleArray3:Array = new Array(3);
sampleArray3[0] = [1,2,3];
...
...
7变量的默认值
int 默认值 0 unit 默认值0 Number 默认值 NaN String 默认值null
Boolean 默认值 false Array 默认值 null Object 默认值 null 未声明 默认值 undefined
如果一个Number类型的变量未赋值,则它参与的任何的数学运算的结果都是NaN
相关推荐
类型:数据都必须有类型 boolean (8bit,不定的)只有true和false两个值 char 16bit, 0~2^16-1 (2^16=6万6) byte 8bit, -2^7~2^7-1 (2^7=128; 注意:两个 byte 数相加,变 int 型) short 16bit, -2^15~2^15-1 (2...
1.4 Servlet 与其他技术的比较 ........................................................................................................................14 1.5 与 Java 平台企业版的关系 ......................
1.6 AS数据类型 3 1.7数据类型转换 3 1.8实例方法,实例变量和静态方法,静态变量 4 1.9接口 Interface 4 1.10继承 Inheritance 5 2.ActionScript3.0常用类 6 2.1内容现实类 6 2.2 String 6 2.3 Array类 8 2.4 XML和E4...
以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...
9.4 Java缓存类型 156 9.4.1 堆缓存 158 9.4.2 堆外缓存 162 9.4.3 磁盘缓存 162 9.4.4 分布式缓存 164 9.4.5 多级缓存 166 9.5 应用级缓存示例 167 9.5.1 多级缓存API封装 167 9.5.2 NULL Cache 170 9.5.3 强制获取...
� Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的有限子集,尚不承诺遵守 Java 任何 Java 规范 , 可能会造 成J ava 阵营的进一步分裂。 � 现有应用完善度不太够,需要的开发工作量较大。--------------------...
第七章 总结与展望 43 7.1 工作总结 43 7.2 研究展望 44 致谢 47 参考文献 49 第一章 绪论 1.1 研究背景与意义 目前市场业务中在产品以及其他项目的认证和检测方面存在诸多不便,用户需要实地考察并频繁与检测...
3.1. 域(Domain)的概念及其与群集(Cluster)的区别 10 3.2. 实验 11 1.1.1. 准备工作 11 1.1.2. 配置 12 3.2.1.1. Master上面的配置 14 3.2.1.1.1. domain.xml 14 3.2.1.1.2. host.xml 15 3.2.1.2. Slave上面的配置 ...
Servlet 与其他技术的比较 ........................................................................................................................ 14 与 Java 平台企业版的关系 .............................
小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。 Bootcfg bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。 含有下列参数的 bootcfg 命令仅在...
//获取的是参数PARAM_TPL,是否调用模板以及调用的模板类型 InvokeType type = DirectiveUtils.getInvokeType(params); //获取传入参数,列表样式,根据不同的参数获取不同的样式列表 String listStyle = ...
Windows虚拟化了显示硬件,使为Windows编写的程序可使用任何具有Windows设备驱动程序的视频卡或打印机,而程序无需确定系统相连的设备类型。 对Windows开发者来说,将与设备无关的图形接口输出到IBM PC上不是件轻松...