注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

AS3中的数据类型  

2011-02-24 19:41:30|  分类: Action Script 3 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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

  评论这张
 
阅读(296)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017