AS基础学习

   
     最近开始学习Flex,其中用到了AS,AS2到AS3发生了很大的变化,完全的面向对象,知道这个特点以后我也一直没有特意的好好去学学AS3,但是随着最近学习的深入,还是有必要学习一下。

访问修饰符:

Public

Internal:包访问

Protected:类内部使用,还有子类可使用

Private:私有,只有类内部使用
      

数据类型:

基本类型:booleanintNullNumberStringunitvoid

复杂类型:ObjecArrayDateErrorFunctionRegExpXmlXmlList

     
变量:

      var 变量名:数据类型;
      var 变量名:数据类型=值;

数字:
      数字值的数据类型很少,只有3种:int、unit、Number。int是有符号的32位整数,数值从-2^31~~(2^31-1)次。uint是没有符号的32位整数(比如处理0XFFFFFF这样的十六进制颜色数值信息)。Number是64位浮点值。

数组:
      Array,AS3中的Array是非类型化的稀疏数组,也就是说数组中的类型可以不同,并且数组中的每个位置不一定要有值。数组中都是对对象的引用。

     Var tmpArr:Array=new Array("a","b","c");

Var tmpArr:Array=[];//创建的快捷方式

Var tmoArr:Array=[3];表示把3放到数组中

Push:添加到尾部;unshift:添加到顶部;splice:添加到任何位置

Pop:删除最后一个;shift:删除第一个;splice:删除任意位置元素

Sort:简单排序,可以设置排序类型;sorton:排序多维数组;reverse:逆转


type、is、as:
      type返回对象的类型:typeof 10;is和as用来判断一个对象是否属于一种类型,前者如果为真返回true,否则返回false,后者如果位真返回这个对象,否则返回null。

in:
      用来判断一个对象时候作为另一个对象的键或索引。存在则返回true,否则false

delete:
      用来删除对象的动态属性,非动态属性不能删除。

函数:
      函数的定义有两种方式
function aaa():void{}				//函数语句定义法
	var bb:Function=function ():void{}	//函数表达式定义法



      这两种方式的区别就是,前者只能先定义后使用,后者再函数编译的时候会被提升到最前面,可以先使用再定义。

…(rest):
      函数的参数必须对应,但是参数中如果使用了…(rest)关键字,那么就可以接受任意多的参数。这些参数以数组的形式保存在rest中,当然rest只是推荐的命名,也可以改成其他的,比如…(paras)

		function aaa(…paras):void{
trace(paras.length);
}



实例属性和方法:
      创建实例之后就可以使用”.”和”[]”运算符来访问实例的属性和实例的方法。如果希望再运行时再决定使用哪个属性(或者方法),就可以使用“[]”运算符了,如
实例名[“属性的名字”]
实例名[“方法的名字”](参数…)
动态类和密封类:
      如果类名前面有dynamic关键字,那么这个类就是动态类,动态类比较灵活,可以再运行时加入额外的属性和方法。效率上比静态类差一点。

方法重载:
      AS3不支持方法的重载,但是可以用”…”关键字来实现类似的行为,缺点就是如果需要返回的类型是不同的,只能将方法的返回类型设位”*”或者是Object

访问控制符:
      在AS3中,访问控制符共有4个,即pblic、private、protected、internal ,都是通过AS3内置的命名空间(namespace)来实现的。
Internal是默认的访问控制符,表示只有和当前类再同一个包中的类其他类才能访问这个类成员,不属于一个包的类是无法访问到这个类成员的。

命名空间:
      AS3的命名空间好像比较特别,和C#的命名空间并不相同,有待研究。

for…in和for each …in:
      for…in和for each …in语句用来枚举一个集合中所有的元素。区别在于for…in的枚举变量代表的是键,必须通过访问符([])加上这个键值,才能访问到集合成员。for each …in的枚举变量直接代表集合的成员。

    

 

你可能感兴趣的:(Flex,REST)