ActionScript学习笔记

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

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

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

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

public class AS_001 extends Sprite
{
      public function AS_001()
      {
           var v1:int= 9;
           trace(v1);
           var v2:uint =10;//无符号数
           var v3:Boolean = true;
           var v4:Number = 4.5;
           var v5:String = "Helloworld";
           var v6:String = 'Hello world!!!';
           var v7:* =3;//任意数据类型
           trace(v7);
           v7 = "你好";
           trace(v7);
           var v8;
           trace(v8);//undefined
           var v9:String;
           trace(v9);//null
           var v10:Array = [2, 3, 4, 5];//数组
           trace(v10);
           var v11:Object = {id:3, username:"admin", password:"admin"};
           trace(v11.username);
      }
}

输出结果

9

3

你好

undefined

null

2,3,4,5

admin

public function my_function(){
      var v1:Array = ["a", "b", "c", "d", "e"];
      for(var i:String in v1){
           trace(i);
           trace(v1[i]);
      }
     
      for each(var propertyValue:String in v1){
           trace(propertyValue);
      }
     
      var v2:Object = {id:1, name:"admin", age:22};
      for(var i in v2){
           trace(i);
           trace(v2[i]);
      }
     
      for each(var propertyValue:String in v2){
           trace(propertyValue);
      }
      trace(v2["name"]);
}
public function my_function1(){
      var traceParameter:Function = function (aparam:String): void{
           trace(aparam);
      };
      traceParameter("hello");
     
      var traceArray:Array = new Array();
      traceArray[0] = function(aParam:String):void{
           trace(aParam);
      };
      traceArray[0]("Hello");
      f("admin");
      f1("admin1","admin2");
}
 
public function f(name:String = "zhangsan"):void{
      trace(name);//zhangsan是默认参数
}
 
public function f1(...args):void{
      trace(args.length);//可变参数
}

ActionScript面向对象

新建ActionScript类Student.as

package com.umgsai.as3
{
      public class Student
      {
           private var _name:String = "zhangsan";
           public function Student()
           {
                
           }
          
           public function set name(name:String):void{//set方法
                 this._name= name;
           }
           public function get name():String{//get方法
                 return this._name;
           }
      }
}

使用

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

ActionScript动态类

新建Teacher类

package com.umgsai.as3
{
      public dynamic classTeacher
      {
           public function Teacher()
           {
           }
      }
}

使用

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

ActionScript接口使用

IFlyable.as

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

实现接口

package com.umgsai.as3
{
      public class T implements IFlyable
      {
           public function T()
           {
           }
          
           public function fly():void//实现接口方法
           {
                 trace("fly");
           }
      }
}

使用

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

ActionScript异常处理

try
{
      throw new EOFError("error occurs");
}
catch(error:Error)
{
      trace(error);
}finally{
      trace("finnaly");
}

值类型int例子

var a:int= 3;
var b:int= a;
b = 9;
trace ("a=" + a);
trace ("b=" + b);

执行结果:

a=3

b=9

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

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

执行结果:

a:4,2,3

b:4,2,3

使用const声明常量

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

typeof、is、as

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

in关键字

      var a:Array = ["a","b","c"];
      trace(2 in a);//true,数组a含有索引2
      trace(3 in a);//false,数组a没有索引为3的元素
     
      var b:Object = {ary:a, name:"OK"};
      trace("ary"in b);//true,b中有ary属性
      trace("name"in b);//true,b中有name属性
     
      var c:Dictionary = newDictionary();
      c[a] = "avalue";
      c[b] = "bvalue";
      trace(a in c);//true
      trace(b in c);//true

两种函数定义方法

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

设置默认参数

      public function test(a:int = 3, b:int = 2, c:int = 1):void
      {
           trace(a+b+c,a, b, c); 
           trace("参数长度:" +arguments.length);     
      }
      test();//6 3 2 1 全部使用默认值
      test(9);//12 9 2 1 使用后两个参数的默认值
      test(2, 9);//12 2 9 1 使用最后一个参数的默认值
      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. Office密码破解工具最好用的是哪款

    很多的用户朋友设置密码的office文档一般都含有比较重要的信息.因此,忘记密码在破解的过程中非常重视安全保密性.现在有很多款office密码破解工具,很多的用户朋友不知道用哪一款比较好,其中Adva ...

  2. 简单的cookie使用

    <html><head><script type="text/javascript">function getCookie(c_name){if ...

  3. c# 导入导出Excel

    1.引用两个js Codaxy.Xlio.dllCodaxy.Xlio.XmlSerializers.dll 2.导出 public string EntityListToExcel(string p ...

  4. 【BZOJ-3122】随机数生成器 BSGS

    3122: [Sdoi2013]随机数生成器 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1362  Solved: 531[Submit][Sta ...

  5. 【BZOJ-1336&1337】Alie最小圆覆盖 最小圆覆盖(随机增量法)

    1336: [Balkan2002]Alien最小圆覆盖 Time Limit: 1 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 1573   ...

  6. Jenkins参数化构建插件,实现构建前输入自定义参数

    插件: [Build with Parameters]:https://wiki.jenkins-ci.org/display/JENKINS/Build+With+Parameters+Plugin ...

  7. python图形界面(GUI)设计

    不要问我为什么要用 python 来做这种事,我回到“高兴咋地”也不是不可以,总之好奇有没有好的解决方案.逛了一圈下来,总体上来说,python 图形界面有以下几个可行度比较高的解决方案. 1. py ...

  8. MATLAB for循环优化三例

    最近一周,对MATLAB有进行了新一轮的学习,对其矩阵化编程的思维有了更深入的了解.确实精妙! 例1: 将矩阵A= [1 2 3; 2 4 3; 3 4 5]中所有的数字3替换为33. 如果还停留在C ...

  9. BZOJ3282: Tree

    传送门 又是权限题= =,过了NOIp我就要去当一只权限狗! LCT裸题,get到了两个小姿势. 1.LCA操作应该在access中随时updata 2.Link操作可以更简单 void Link(i ...

  10. JavaWeb---总结(十二)Session

    一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据时,服务 ...