zoukankan      html  css  js  c++  java
  • AS3中的各种区别

    1、Loader、URLLoader 与 URLStream 的区别
       (1) Loader 于加载SWF 文件或图像(JPG、PNG 或 GIF)文件。给contentLoaderInfo属性添加侦听事件,来监测数据是否已下载完成。
       (2) URLLoader 以文本、二进制数据或 URL 编码变量的形式从 URL 下载数据(XML、JSP、PHP等)。 数据要先全部下载完才能使用,可以监视下载进度。 
       (3) URLStream 提供对下载 URL 的低级访问。数据一下载,便可随即为应用程序使用,并且 URLStream 类还允许在完成下载前关闭流。已下载文件的内容将作为原始二进制数据提供,Big-endian 格式编码。

    2、Vector、Array、Object和Dictionary的简单区别
        附上初始化和访问方法。
        (1)Vector是通过索引访问的密集数组,存放元素类型均相同的多种数据类型。效率比Array高。
          var vec:Vector.<int> = new Vector.<int>();
          var vec:Vector.<int> = new <int>[1,2,3];

        (2)Array是通过索引访问的稀疏数组,可存放数字、字符串、对象其他数组等多种数据类型。(也可以做为关联数组,但不提倡)
          var b:Object = new Object();
          var arr:Array = new Array("a",b,3);
          var arr:Array = ["a",b,3];

        (3)Object是关联数组,键为字符串,值可多种数据类型,可动态赋予属性。
          var obj:Object = {name:"John",age:10};
          obj.sex = "男";
          trace(obj.name);//John
          trace(obj["sex"]);//男

        (4)Dictionary也是关联数组,但可将对象作为键,值也可多种数据类型,可动态赋予属性。用delete删除键,引用有“强”“弱”之分。
          var obj:Object = new Object();
          var dic:Dictionary = new Dictionary();
          dic[obj] = "abc";
          dic.abc = "ABC";
          trace(dic.abc);//ABC
          trace(dic["abc"]);//ABC

    3、for...in 与 for each...in的区别
        (1)for...in 读取的是键,在Dictionary中读取对象键,Object中读取键名,Array和XML等读取索引。
        (2)for each...in 读取的是值,不管是Dictionary、Object、Array中都读取对应的值。

    4、localX、mouseX和stageX的区别
        localX 和stageX 是 MouseEvent 类的属性;mouseX 是 DisplayObject 类的属性
        localX 和mouseX 都可以获得鼠标在显示对象上的局部坐标。
        (1)localX是在点击事件触发时通过MouseEvent的实例获得的,获得的是事件流中鼠标相对在目标阶段中的对象的坐标。
        (2)mouseX是随时都可以通过DisplayObject类或其子类的实例获得,获得的是鼠标在显示对象本身上的坐标。
        (3)stageX用来获取鼠标在舞台上的坐标。

    5、target 和 currentTarget的区别
        (1)target指向的是事件流中最顶层的对象,即触发事件的对象
        (2)currentTarget指向的是使用侦听器的那个对象
        两者在显示对象的事件流中才有区别,非显示对象和事件经过使用侦听的那个对象时指向的是同一个对象。

    6、MouseEvent.ROLL_OVER和MouseEvent.MOUSE_OVER的区别
      (1)ROLL_OVER 只在鼠标进入侦听这个事件的显示对象时派发。
      (2)MOUSE_OVER 在鼠标进入侦听这个事件的显示对象的子显示对象都会派发,比如S有两个孩子S1和S2,鼠标进入S时派发一次,进入S1时派发一次,从S1中移开重新进入S中又派发一次,进入S2再派发一次。而ROLL_OVER在这个过程中只派发一次。

    如下图所示,绕圈派发MOUSE_OVER,黑圈派发ROLL_OVER

  • 相关阅读:
    [转]JS自执行函数,匿名函数
    [转]前端实现token刷新
    [转]maven引入本地jar包的方法
    钉钉小程序后台报错"errcode":88,"sub_code":"60011","sub_msg":"没有调用该接口的权限
    中国台湾圣贤堂《天堂游记》等下载
    pt-table-checksum对比数据测试(dsns方式)
    参透世间所有困惑的终极智慧
    KQL笔记
    elasticsearch should实现or功能,设置minimum_should_match
    《王阳明心学及其当代意义》观后总结自用
  • 原文地址:https://www.cnblogs.com/wldragon/p/3287773.html
Copyright © 2011-2022 走看看