• action script3.0殿堂之路.pdf 读书笔记


    1.显示列表API:
    spring
    shape
    movieClip
    sprite
    ---------------
    声明变量:
    不常用的定义方式:
    var h;//未指定类型,默认为untyped
    var g:*;//跟上面是一样的效果

    uint number int 的使用要注意,
    可能计算出来的值不是你想像中的值,
    比喻:
    var float:Number =0;
    for:10次-> float += 0.1;
    得到的是0.999999999999;
    -------------------------
    判断String类型转换成数值类型时,判断String是否能够正确转换成数值
    !(Number("string"))
    ----------typeof用法
    trace(typeof 10);//输出:number
    返回的是类型说明
    ----------is的用法
    trace(9 is Number);//输出:true
    ----------in用法
    var a:Array = ["q","w","e"];
    trace(2 in a); //数组 a 含有索引 2,所以为 true
    trace(3 in a); //只有个元素,没有索引为 3 的元素,所以为 false

    var b:Object = {ary:a, name:"ok"};
    trace ("ary" in b); //true,确实有 ary 为键的属性
    ----------deleted
    2.5.13 delete:ActionScript3 中的作用变了
    在 ActionScript2 中可以使用 delete 关键字删除对象任意一个的实例属性。
    但在 ActionScript3 中,delete 关键字的作用已经大大减少,它只可以来用删除
    对象的动态实例属性,非动态属性不能删除。
    如果要将一个属性所持有的引用删除,将 null 赋值给该属性即可。
    var b:Object = {ary:"one",name:"ok"};
    deleted b; //会报错,不能这样删除了
    deleted b.ary; //成功,因为 ary 是 b 对象的动态属性
    trace (b.ary); //输出:undefined

    b = null;
    ----------
    function testA(...paras):void {
    trace ("参数长度:" + paras.length);
    for (var i in paras){
    trace (paras[i]);
    }
    }
    testA(1,[2,3],"String type");
    /*输出:
    参数长度:3
    1
    2,3
    String type
    */
    function testB(firstPara:String,...args):void {
    trace (args.length);
    for (var i in args){
    trace (firstPara +":"+args[i]);
    }
    }
    testB("B test", [100,200],1000, "Foo");
    /*输出:
    3
    B test:100,200
    B test:1000
    B test:Foo
    */
    -------------动态类---
    dynamic class Bar {
    public var web:String = “Kingda’s Blog”;
    }
    ---------------------use namespace XXX
    use namespace bad;
    ---------------------:: namespace的用法
    ::
    在同一个类下面,有两个相同的名字的方法,可以这样调用
    person.public::hi(); //输出:public:hi()
    person.custom::hi(); //输出:custom:hi()

    custom function hi():void {
    trace ("custom:hi()");
    }
    private function hello():void {
    trace ("private:hello()");
    }
    --------------命名空间 -------
    示例 7-1 的代码中,有一个文档类 SamplePlayer 和一个包外类 Player。
    Player 中使用命名空间 phone(电话)和 ball(球类)分别定义了两个 da()
    方法。两个 da()在不同的命名空间下有不同的实现。在 SamplePlayer 中通过
    use namespace ball 打开了 ball 命名空间。从而调用 foo.da()方法时就调用了
    ball 命名空间下的 da()方法。在最后两行又演示了如何联合命名空间明确指定方
    法。
    通过示例 7-1 的代码,可以对命名空间的使用有一个大概的印象。暂时看不
    明白没有关系,命名空间具体的定义和使用在后面还有详细的讲述。

    package org.kingda.book.basicoop.namespaces{
    import flash.display.Sprite;
    public class SamplePlayer extends Sprite{
    public function SamplePlayer() {
    //use namespace ball;
    var foo:Player = new Player();
    //foo.da(); //输出:打():我要玩一下球
    //下面两行明确指定使用哪一个命名空间中的方法
    foo.phone::da(); //输出:打():我要拨个电话
    foo.ball::da(); //输出:打():我要玩一下球
    }
    }
    }
    namespace phone;
    namespace ball;

    class Player {
    phone function da() {
    trace ("打():我要拨个电话");
    }
    ball function da() {
    trace ("打():我要玩一下球");
    }
    }
    -----------接口--------------
    如何实现接口
    一个类在定义时如果实现(implements)一个接口,其实是在做一个宣告:
    它将拥有这个接口定义的所有方法,可以把它当成这种接口的数据类型来使用。
    实现接口的语法和继承的语法相似,不过不再使用 extends 关键字,而是使
    234
    第 10 章 *抽象类和接口
    用 implements 关键字。而且一个类可以实现多个接口,多个接口之间用“,”
    号隔开。
    implements 的使用格式如下。
    public class 类名 implements 接口名{…} //单接口
    public class 类名 implements 接口名 A,接口 B,接口 C{…} //多接口
    --不支持多重继承,但可这样在单继承下,实现多个接口
    //注意,A 除了继承 BaseA 外,实现了两个接口
    class A extends BaseA implements IHasName,IClonable{

    ----------------------------
    -----------顶级包-----------核心类
    setInterval(function,number);

    ----------------------------string与stringBuilder------------
    StringBuilder 类是什么?它对于很多中级爱好者而言,并不熟悉。但是在
    Java、NET 中都有这个类的存在。字符串在频繁修改时,效率低下。通俗地说,
    StringBuilder 是为了改进这种情况而加进的工具类。下面来详细解释产生这种状
    况的情形、原因和解决方式。
    其实as3.0 中字符串用+号连接速度是非常快的
    -----------------------------

    看书的,学到的知识点比较广,很多都没有用到,时间一久必定又忘记.所有要常敲代码.

  • 相关阅读:
    [BOST] 博赞有机的学习技巧
    [BOST] 你的大脑比你想象的更优秀
    Markdown学习笔记
    nodejs原生态模块,写个聊天室
    【2】自定义WindowsForm分页控件使用【共两篇】
    【1】自定义WindowsForm分页控件使用【共两篇】
    《Log4net写出适合自己的日志类》第三篇【终】【怎样让它适合你自己需求】
    《Log4net写出适合自己的日志类》第二篇【没有理论的实践是盲目】
    《Log4net写出适合自己的日志类》第一篇【上来就是干,先实践后理论】
    记忆留住深刻过往,博客写出平淡事迹【博客首篇】
  • 原文地址:https://www.cnblogs.com/orp1989/p/4517450.html
Copyright © 2020-2023  润新知