AS 3.0小事件处理 .一

一.事件类常量属性:

 1.MouseEvent类的部分类属性:
    CLICK           表示字符串“click”,代表单击事件
    DOUBLE_CLICK    表示字符串“doubleclick”,代表双击事件
    MOUSE_DOWN      表示字符串“mousedown”,代表鼠标按下事件
 
 2.下面代码使用了MouseEvent类的属性:
    MouseEvent.CLICK;
    MouseEvent.DOUBLE_CLICK;
 
 3.常见的组件注册方法:
    组件实例名.addEventListener("click",侦听器)
 
 4.使用类属性来代替常量字符串最大的优点是:保证程序的稳定性,易于程序除错。

二.使用静态方法:

 1.String类有个类方法叫fromCharCode(),他只属于类,只能通过类来使用,而String类的slice()方法则
   属于实例,只能通过实例来使用。
 2.键盘中的Enter键常用来输入回车符,也可以起到换行的作用,利用String类的类方法fromCharCode()可
   以在字符中加入一个回车。
 3.键盘中的每个键都对应一个键控代码,键控代码是一个数字,例如,数字13代表回车符,数字64代表键盘
   上的字符@ 。
 
 4.(1)打开FLASH文档,单击图层的第一帧 ,打开动作面板,输入下列代码:
     trace("yyy"+String.fromCharCode (64)+"xxx");//在字符间插入@
   (2)测试影片,在输出面板中将显示:
        yyy@xxx
   (3)在动作面板中添加下面代码:
      trace("yyy"+String.fromCharCode(13)+"xxx");
   (4)测试影片,将输出:
       yyy
    xxx
   
三.简单数据类型和复杂数据类型的区别:
 1.最大区别:
   复杂数据类型,当比较它们是否相等时,比较的是它们引用的对象实体,两个实体相同则为true否则为false
   简单数据类型,当比较它们是否相等时,比较的是它们储存的值,值相等则为true,否则为false
 2.另一个区别:
    简单数据类型的种类是不会变的,而复杂数据类型可以通过自定义类等途径来增加。
 3.默认值:
    在定义了简单数据类型的变量后,这个变量会被赋一个默认值。例如int类型变量的默认值是0,而Boolean类
    型的变量的默认值是false,对于复杂数据类型的变量来说,它的默认值是null 。
 
三.清除变量:
 1. 清除变量的机制:Garbage Collection,简称:GC   用来自动清除内存中不再需要的变量。
 2. 清除变量有两种算法:一种称为引用计数算法,另一种称为标记和清除算法。
 3. 引用计数算法实例:
  (1) var a:Object =new Object();//创建一个对象,并用变量a来引用
      此时,变量a引用了对象,引用计数就为1。
      var b:Object =a;//变量b也引用对象
      这时,变量b也引用了同一个对象,引用计数就为2.即这个对象有两个引用,GC就把这个对象从的引用计
    数为2.
      当内存中不再存在任何指向这个对象的引用时,即变量a和b都不引用这个对象时,GC会将这个对象从内
 存中清除掉:
       a=null;//删除引用a,对象的引用计数为1
    b=null;//变量引用b,对象的引用计数为0
    当引用计数为0时,表示此时的对象并没有变量来引用它。在适当的时候,这个对象将被删除。
   
  (2) 引用计数算法在有些时候并不能正常工作。例如,如果定义两个对象,它们只是引用自身,而没有任何别
    的对象引用它们,这样它们的引用计数是大于0的,可是却没有办法访问到他们:
     var a:Object =new Object();//变量a引用对象1,对象1的引用计数为1
  var b:Object =new Object();//变量b引用对象2,对象2的引用计数为1
  a.obj2=b;//动态创建变量obj2引用对象2,对象2的引用计数为2
  b.obj1=a;//动态创建变量obj1引用对象1,对象1的引用计数为2
  a=null;//清除变量a的引用,对象1的引用计数为1
  b=null;//清除变量b的使用,对象2的引用计数为1
   这里变量a和变量b的引用已经被删除了,它们是无法被访问到的,也就不能访问动态创建的变量obj1和obj2.
  4. delete与动态类
   ActionScript3.0中有许多动态类,可以向动态类的实例添加属性。例:MovieClip类、Object类、Array类
 都是动态类:
     var mc:MovieClip =new MovieClip();//创建实例
  mc.speed=5;//添加动态属性speed
  trace(mc.speed);//输出动态属性,输出5
  delete mc.speed;//删除动态属性
  trace (mc.speed);//输出undefined
 输出undefined表示删除成功。对于数组,delete只能删除数组的元素,不能删除索引,真正删除数组中的元素
 必须使用splice()方法:
    var arr:Array =new Array();//创建数组
    arr [0]=0;//动态创建数组元素即属性
    arr [1]=1;
    arr.splice(0,1);//删除索引为0的元素
    trace(arr.length);//输出1
  在使用delete删除变量时,如果能成功删除变量,操作时会返回true:
      var mc:MovieClip =new MovieClip();
   mc.speed=5;
   trace(delete mc.speed);//输出true
   

转载于:https://www.cnblogs.com/wcl324/archive/2012/10/25/2740203.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值