ActionScript學習筆記

ActionScript學習筆記數組

ActionScript中預約義的數據類型:Boolean、int、Number、String、uint函數

其中,int、Number、uint是處理數字的。int用來處理整數,Number用來處理很長又有小數點的數字,uint處理很大的正整數。學習

複雜數據類型:Array、Date、Error、Function、RegExp、XML、XMLListui

自定義類屬於複雜數據類型。this

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);
      }
}

輸出結果spa

9指針

3對象

你好blog

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

相關文章
相關標籤/搜索