重学AS3之基础知识重点记忆

1、三大概念:显示对象、可交互对象、容器对象

2、由于有了显示列表的概念,遍历子对象更加轻松简单

3、as3代码被编译成flash player运行时可以理解的actionscript bytecode,不可单独运行,必须放在swf中

4、trace仅作为测试使用


1>变量使用骆驼是命名法:highLevelFlag

2>变量的本质:其实就是类,每个类型就是一个类

3>对于array初始化:var arr:Array = new Array(1,2,3);

4>值类型:boolean int number String uint 不用new 

  变量改变时,即新建变量赋值,垃圾回收原来的变量

  原因:效率一样高;内存占用更低,比java节省10倍左右

5>引用类型:注意存储问题;注意复制问题

6>const相当于var:声明引用类型,只能保证引用不改变,所引用的值不能保证

7>String:使用 “abc”和new String(“abc”)一样;单引号和双引号效果一样

8>\:表示转义,*\表示在字符串中加入*

9>Array:[]&new array()效果一样;new array(5)长度为5

10>Object:Array通过数字访问,Object通过名字访问;{}&new object()作用一样

  注意:使用{}可以将属性和方法写进去

  var dily:Object = {name:"zhaoxin",qqNum:"595850892"}

      trace(dily.qqNum);//595850892

  注意:Object可以动态添加属性,例如

  var dily:Object = {};

  dily.name = "zhaoxin";

  dily.hello = function(){trace(Hello dily!);}

11>多维数组:数组内嵌套数组:var sample:Array = [[1],[2],[3,2]];

  可以先定义数组长度,再添加数组

  var sample2:Array = new Array(3);

      sample2[0] = [1,2,3];

12>===:必须类型相同才为真

13>typeof&is&as&in

14>delete删除动态属性:删除10中的name:delete dily.name

15>枚举,挨个访问成员;for in索引,属性,for each in值

16>break&continue只对当前子循环有效

17>switch全等比较,不能进行类型转换


高级函数技巧:

1>两种函数声明方式:

  var testa:Function = function():void{}

  Function testb():void{}//提倡

  注意:两种定义法的this关键字区别

  1)语句定义法,指定当前作用域,且无法改变

  2)表达式法,指定当前对象,可以该表使用apply(obj)

2>对于动态参数:默认arguments.length长度&callee()递归;自定义...paras,paras[i]

3>函数其实就是一种Function对象

4>函数高级使用技巧:

  1)代理函数对象:var dily:Function;  dily = maleFunc;

  2)建立函数执行队列:将函数放到数组里

    var dily:Array = [];

    dily.push(aFun);

    for(){dily[i](m)}

  3)利用函数返回函数:chooseFuncBY("A")("a func!"); chosseFuncBy(input:*):Function

    *:可以使任何类型

5>使用函数表达式函数可以动态添加属性,和Object一样

6>函数对象动态添加实例方法:草,太他妈的乱拉!这他妈也行?!?!针对函数表达式!

posted @ 2012-09-07 19:02  tinytiny  阅读(341)  评论(0)    收藏  举报