ActionScript学习笔记

ActionScript学习笔记

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

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

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

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

publicclass AS_001 extends Sprite
{
      publicfunction 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 classStudent
      {
           private var_name:String = "zhangsan";
           public function Student()
           {
                
           }
          
           public functionset name(name:String):void{//set方法
                 this._name= name;
           }
           public functionget 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 木有使用默认值

ActionScript学习笔记

时间: 2024-11-13 09:58:36

ActionScript学习笔记的相关文章

SWFTOOLS学习笔记一(转)

SWFTools提供了一系列将各种文件转成swf的工具: font2swf.exe gif2swf.exe jpeg2swf.exe pdf2swf.exe png2swf.exe wav2swf.exe 具体的功能就顾名思义了. 其中把pdf转成swf的工具就是pdf2swf了.在命令行中运行pdf2swf src.pdf des.swf一般能满足需求.而命令行参数可以通过pdf2swf -f得到: -h , –help                      Print short hel

XML From Action Script[AS中的XML学习笔记]

XML From Action Script XML 是 eXtensible Markup Language (可扩展标记语言)的缩写. E4X ECMAScript for XML 规范定义了一组用于处理 XML 数据的类和功能.这些类和功能统称为 E4X. ActionScript 3.0 包含 以下 E4X 类:XML. XMLList. QName 和 Namespace. E4X 包含了一些直观运算符(如点 (.) 和属性标识符 (@) 运算符),用于访问 XML 中的属性 (pro

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

java/android 设计模式学习笔记(14)---外观模式

这篇博客来介绍外观模式(Facade Pattern),外观模式也称为门面模式,它在开发过程中运用频率非常高,尤其是第三方 SDK 基本很大概率都会使用外观模式.通过一个外观类使得整个子系统只有一个统一的高层的接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节.当然,在我们的开发过程中,外观模式也是我们封装 API 的常用手段,例如网络模块.ImageLoader 模块等.其实我们在开发过程中可能已经使用过很多次外观模式,只是没有从理论层面去了解它. 转载请注明出处:http://bl