ActionScript学习笔记

ActionScript中预定义的数据类型:Boolean、int、Number、String、uint

其中,int、Number、uint是处理数字的。int用来处理整数,Number用来处理很长又有小数点的数字,uint处理很大的正整数。

复杂数据类型:Array、Date、Error、Function、RegExp、XML、XMLList

自定义类属于复杂数据类型。

  1. public class AS_001 extends Sprite
  2. {
  3.       public function AS_001()
  4.       {
  5.            var v1:int= 9;
  6.            trace(v1);
  7.            var v2:uint =10;//无符号数
  8.            var v3:Boolean = true;
  9.            var v4:Number = 4.5;
  10.            var v5:String = "Helloworld";
  11.            var v6:String = 'Hello world!!!';
  12.            var v7:* =3;//任意数据类型
  13.            trace(v7);
  14.            v7 = "你好";
  15.            trace(v7);
  16.            var v8;
  17.            trace(v8);//undefined
  18.            var v9:String;
  19.            trace(v9);//null
  20.            var v10:Array = [2, 3, 4, 5];//数组
  21.            trace(v10);
  22.            var v11:Object = {id:3, username:"admin", password:"admin"};
  23.            trace(v11.username);
  24.       }
  25. }

输出结果

9

3

你好

undefined

null

2,3,4,5

admin

  1. public function my_function(){
  2.       var v1:Array = ["a", "b", "c", "d", "e"];
  3.       for(var i:String in v1){
  4.            trace(i);
  5.            trace(v1[i]);
  6.       }
  7.      
  8.       for each(var propertyValue:String in v1){
  9.            trace(propertyValue);
  10.       }
  11.      
  12.       var v2:Object = {id:1, name:"admin", age:22};
  13.       for(var i in v2){
  14.            trace(i);
  15.            trace(v2[i]);
  16.       }
  17.      
  18.       for each(var propertyValue:String in v2){
  19.            trace(propertyValue);
  20.       }
  21.       trace(v2["name"]);
  22. }
  23. public function my_function1(){
  24.       var traceParameter:Function = function (aparam:String): void{
  25.            trace(aparam);
  26.       };
  27.       traceParameter("hello");
  28.      
  29.       var traceArray:Array = new Array();
  30.       traceArray[0] = function(aParam:String):void{
  31.            trace(aParam);
  32.       };
  33.       traceArray[0]("Hello");
  34.       f("admin");
  35.       f1("admin1","admin2");
  36. }
  37.  
  38. public function f(name:String = "zhangsan"):void{
  39.       trace(name);//zhangsan是默认参数
  40. }
  41.  
  42. public function f1(...args):void{
  43.       trace(args.length);//可变参数
  44. }

ActionScript面向对象

新建ActionScript类Student.as

  1. package com.umgsai.as3
  2. {
  3.       public class Student
  4.       {
  5.            private var _name:String = "zhangsan";
  6.            public function Student()
  7.            {
  8.                 
  9.            }
  10.           
  11.            public function set name(name:String):void{//set方法
  12.                  this._name= name;
  13.            }
  14.            public function get name():String{//get方法
  15.                  return this._name;
  16.            }
  17.       }
  18. }

使用

  1. var s:Student = new Student();
  2. trace(s.name);//相当于调用 function get name(),输出zhangsan
  3. s.name = "admin";//相当于调用 function set name()
  4. trace(s.name);//输出admin

ActionScript动态类

新建Teacher类

  1. package com.umgsai.as3
  2. {
  3.       public dynamic classTeacher
  4.       {
  5.            public function Teacher()
  6.            {
  7.            }
  8.       }
  9. }

使用

  1. var t:Teacher = new Teacher();//Teacher类是动态类
  2. t.= function(){//动态添加f函数
  3.       trace("f");
  4. }
  5. t.f();
  6. delete t.f;//删除f函数
  7. //         t.f();//此句会报错

ActionScript接口使用

IFlyable.as

  1. package com.umgsai.as3
  2. {
  3.       public interface IFlyable//接口一般以I开头
  4.       {
  5.            function fly():void;//不写public之类的修饰符
  6.       }
  7. }

实现接口

  1. package com.umgsai.as3
  2. {
  3.       public class T implements IFlyable
  4.       {
  5.            public function T()
  6.            {
  7.            }
  8.           
  9.            public function fly():void//实现接口方法
  10.            {
  11.                  trace("fly");
  12.            }
  13.       }
  14. }

使用

  1. var tt:IFlyable  = new T();
  2. tt.fly();

ActionScript异常处理

  1. try
  2. {
  3.       throw new EOFError("error occurs");
  4. }
  5. catch(error:Error)
  6. {
  7.       trace(error);
  8. }finally{
  9.       trace("finnaly");
  10. }

值类型int例子

  1. var a:int= 3;
  2. var b:int= a;
  3. = 9;
  4. trace ("a=" + a);
  5. trace ("b=" + b);

执行结果:

a=3

b=9

引用类型例子。(类似C语言中的指针)

  1.       vara:Array = new Array(1,2,3);
  2.       varb:Array = a;
  3.       b[0] = 4;
  4.       trace("a:" + a);
  5.       trace("b:" + b);

执行结果:

a:4,2,3

b:4,2,3

使用const声明常量

  1. const foo:int = 100;//不可以改变foo的值

typeof、is、as

  1. trace(typeof 10);//Number
  2.       trace(9 is Number);//true//as与is格式一致,内容不同。如果一个对象属于一种类型,那么as返回这个对象,否则返回null
  3.       trace(9 asNumber);//输出9
  4.       trace(9 as Array);//输出null

in关键字

  1.       var a:Array = ["a","b","c"];
  2.       trace(2 in a);//true,数组a含有索引2
  3.       trace(3 in a);//false,数组a没有索引为3的元素
  4.      
  5.       var b:Object = {ary:a, name:"OK"};
  6.       trace("ary"in b);//true,b中有ary属性
  7.       trace("name"in b);//true,b中有name属性
  8.      
  9.       var c:Dictionary = newDictionary();
  10.       c[a] = "avalue";
  11.       c[b] = "bvalue";
  12.       trace(in c);//true
  13.       trace(in c);//true

两种函数定义方法

  1.       private function fname():void
  2.       {//函数语句定义法,推荐使用这种写法
  3.            trace("Hello");
  4.       }
  5.      
  6.       var testAdd:Function = function (a:int, b:int):int{
  7.            //函数表达式定义法
  8.            return a+b;
  9.       }

设置默认参数

  1.       public function test(a:int = 3, b:int = 2, c:int = 1):void
  2.       {
  3.            trace(a+b+c,a, b, c); 
  4.            trace("参数长度:" +arguments.length);     
  5.       }
  6.       test();//6 3 2 1 全部使用默认值
  7.       test(9);//12 9 2 1 使用后两个参数的默认值
  8.       test(2, 9);//12 2 9 1 使用最后一个参数的默认值
  9.       test(1, 2, 3);//6 1 2 3 木有使用默认值

本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1531596

ActionScript学习笔记的更多相关文章

  1. ArcGIS API for Silverlight学习笔记

    ArcGIS API for Silverlight学习笔记(一):为什么要用Silverlight API(转) 你用上3G手机了吗?你可能会说,我就是喜欢用nokia1100,ABCDEFG跟我都 ...

  2. 我的Android进阶之旅------>Android中编解码学习笔记

    编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等 ...

  3. 黑菜菌的JAVA学习笔记

    简介 本文是笔者对<JAVA编程思想>的学习笔记.以自己的思维理解来写下这篇文章,尽可能地简练,易懂.本文将随本人学习进度实时更新 对象导论 抽象过程 汇编语言是对底层机器码的抽象,而面向 ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  6. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  7. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  8. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  9. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

随机推荐

  1. request 和response

    当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...

  2. 【USACO 1.4】Mother's Milk

    /* TASK: milk3 LANG: C++ SOLVE: 倒水,dfs,枚举每一种倒法,ca[i][j]记录a和c桶的状态,因为总体积不变,故b的状态不需要记录. */ #include< ...

  3. VisualSVN Server HTTPS

    目测windows平台当前搭建svn最简单的就是VisualSVN Server 启动https 证书cp下面目录 C:\Program Files\VisualSVN Server\certs 修改 ...

  4. java高新技术-泛型

    1.体验泛型 泛型是提供给javac编译器使用的,可以限定集合中的输入类型,让编译器挡住源程序中的非法输入,编译器编译带类型说明的集合时去除掉"类型"信息,使程序运行小效率不受影响 ...

  5. [bzoj1009][HNOI2008]GT考试

    Description 阿申准备报名参加考试,准考证号为位数,他不希望准考证号上出现不吉利的数字. 他的不吉利数学有位,不出现是指中没有恰好一段等于. 可以为. Input 第一行输入.接下来一行输入 ...

  6. 高级语言虚拟机的一点理解,对比.NET和Java平台

    最近学习了一些高级语言虚拟机的知识,在此对.NET平台和java平台做一个简单的比较.对java平台已经很熟了,所以此处只介绍.NET平台下的一些概念. 一.CLI 通用语言基础架构(Common L ...

  7. joomla \libraries\joomla\session\session.php 反序列化截断畸形字符串导致对象注入漏洞

    catalog . 漏洞描述 . PHP SESSION持久化 . PHP 序列化/反序列化内核实现 . 漏洞代码分析 . POC构造技巧 . 防御方案 . Code Pathc方案 1. 漏洞描述 ...

  8. Python的设计哲学探究

    在Python shell中输入import this就会在屏幕上打印出来Python的设计哲学,如下: In [25]: import this The Zen of Python, by Tim ...

  9. WPF元素可视化效果

    在WPF中设置元素的可视化效果主要用到BlurEffect类和DropShadowEffect类.(目前只学到这两个,哈哈) 1.BlurEffect类 命名空间: System.Windows.Me ...

  10. hdu 2031 杨辉三角

    题意:显示杨辉三角形. 解法: 组合数学公式:combi(n,m)=combi(n-1,m-1)+combi(n-1,m); 至于为什么有这个公式呢?那就是高中数学的内容啦 1: #include&l ...