AS3你所不知道的秘密~【As3 secrets】摘自adobe max

1 篇文章 0 订阅
1 篇文章 0 订阅
                       1.缩略的条件表达式short conditional statements
                        var someVar:Number;
                        if(someVar)
                                doSomething();
                        2.缩略的构造函数short constructors
                        var point:Point = new Point;
                        3.throw不光用于抛出错误,还可以抛出对象Throwing objects
                        try
                        {
                                throw 1;
                        }
                        catch(n:Number)
                        {
                                trace(n); //outputs 1
                        }
                        4.arguments的一种特殊使用(arguments.callee代表arguments所在的函数) Arguments class
                        this.addEventListener('eventt',
                                function(event:Event):void
                                {
                                        event.target.removeEventListener(event.type,arguments.callee);
                                        trace(arguments.callee);
                                }
                        );
                        this.dispatchEvent(new Event('eventt'));
                        5.||= 逻辑或赋值(如果一个变量的值存在,则不赋新值给该变量,如果该值不存在,则赋值给该变量)logical or assignment
                        var num:Number;
                        num ||= 10;
                        trace(num); // outputs 10
                       
                        num = 5;
                        trace(num); // outpus 5
                       
                        num ||= 10;
                        trace(num); //outpus 5
                        trace(10 || 5);
                        6.获取指定对象的类构造函数Getting object class type
                        var obj:Sprite = new Sprite();
                        var clazz:Class = Object(obj).constructor;
                        trace(new clazz());
                        7.循环标签和continue的使用Labels & continue
                        var outerArray:Array = [1,2,3];
                        var innerArray:Array = [2,3,4];
                        outerLoop:for (var i:uint = 0;i < outerArray.length; ++i)
                        {
                                var foo:String = outerArray[i];
                                innerLoop:for(var j:uint = 0; j< innerArray.length; ++j)
                                {
                                        var bar:String = innerArray[j];
                                        if( foo == bar )
                                        {
                                                continue outerLoop;
                                        }
                                }
                                trace(foo); //
                        }
                        8.Label & break
                        dateCheck:
                        {
                                trace('good morning')
                                var today:Date = new Date();
                                if(today.month == 9 && today.date == 11)
                                {
                                        break dateCheck;
                                }
                                trace('time for work');
                        }
                        9.with的使用with statement
                        function polar(r:Number):void
                        {
                                var a:Number,x:Number,y:Number;
                                with(Math)
                                {
                                        a= PI * pow(r,2);
                                        x = r * cos(PI);
                                        y = r *sin(PI/2);
                                }
                                trace('acos'+a);
                                trace('x-'+x);
                                trace('y-'+y);
                        }
                        polar(3);
                        10.像trace一样的全局函数global functions
                        //globalFunction.as file
                        package
                        {
                                public function globalFunction(text:String):void
                                {
                                        trace(text);
                                }
                        }
                        11.包内函数internal functions
                       
                        protected function someFunction():void
                        {
                                var internalFunction:Function = function(text:String):void
                                {
                                        trace(text);
                                }
                               
                                internalFunction('Hello world');
                        }
                        12.命名空间custom namespaces
                        //online.as file
                        package org.corlan
                        {
                                public namespace online = 'http://www.baidu.com';
                        }
                        //offline.as file
                        package org.corlan
                        {
                                public namespace offline = 'http://www.sdo.com/';
                        }
                       
                        online function save(object:Object):void
                        {
                                trace('online');
                        }
                       
                        offline function save(object:Object):void
                        {
                                trace('offline');
                        }
                       
                        online::save(obj);
                        offline::save(obj);
                       
                        13.代理类Proxy class
                        import flash.utils.Proxy;
                       
                        dynamic class MyProxy extends Proxy
                        {
                                flash_proxy override function callProperty(name:*,...rest):*
                                {
                                }
                                flash_proxy override function getProperty(name:*):*
                                {
                                }
                                flash_proxy override function setProperty(name:*,...rest):*
                                {
                                }
                        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值