ActionScript之helloworld
1.ActionScript的数据1类型,声明格式:
1 package 2 { 3 import flash.display.Sprite; 4 5 public class test extends Sprite 6 { 7 public function test() 8 { 9 var v1:int = 9; 10 var v2:uint = 9; 11 var v3:Boolean = true; 12 var v4:Number = 4.5; 13 var v5:String = "HelloWorld"; 14 var v6:String = "HelloWorld Again"; 15 var v7:* = 3; 16 v7 = "hello"; 17 trace(v7); 18 var v8; 19 trace(v8); 20 var v9:String; 21 trace(v9); 22 var v10:Array = [2,3,4,5]; 23 trace(v10); 24 var v11:Object = {id:3, name:"ZhangSan",age:18}; 25 trace("Hello world!"); 26 27 28 } 29 } 30 }
值得一提的是ActionScript的Object
不知道对象名称,但是把它称作
var v11:Object = {id:3, name:"ZhangSan",age:18};关联性数组,里面所有的内容都是按照键值对-->key:value来设置的
单双引号效果相似
2.ActionScript 的特殊语句:
for in:
1 var traceArray:Array = new Array(); 2 traceArray[0]= function(aParam:String):void 3 { 4 trace(aParam); 5 6 } 7 traceArray[0]("Hello!"); 8
for each in:
1 var v1:Array=["a","b","c","d","e"]; 2 trace("for in"); 3 for(var i:String in v1) 4 { 5 trace(i); 6 trace(v1[i]); 7 8 } 9 trace("for each in"); 10 for each(var propertyValue:String in v1) 11 { 12 trace(propertyValue); 13 14 } 15
事实上v1是这样的
0:a 1:b 2:c ...
3.ActionScript 自定义函数:
i.普通方式
1 var tracePararameter:Function = function(aParam:String) :void 2 { 3 trace(aParam); 4 5 }; 6 tracePararameter("Hello World!!You Will Win");
ii.把函数写在一个数组中调用
1 var traceArray:Array = new Array(); 2 traceArray[0]=function(aParam:String):void 3 { 4 trace(aParam); 5 6 }; 7 traceArray[0]("Hello");
iii.以及函数的默认参数
1 trace("have Parameters"); 2 f("Lisi"); 3 trace("Absense Parameters"); 4 f(); 5 function f(name:String="Zhangsan"):void{ 6 trace(name); 7 8 }
4.ActionScript面向对象
i.他是这样定义类的
1 public class Student 2 { 3 private var _name:String = "ZhangSan"; 4 public function set name(name:String) : void 5 { 6 this._name=name; 7 } 8 public function get name():String{ 9 10 return this._name; 11 } 12 }
ii.并且是这样执行的
1 package 2 { 3 import com.bjsxt.as3.Student; 4 import flash.display.Sprite; 5 6 public class test extends Sprite 7 { 8 public function test() 9 { 10 var s:Student = new Student(); 11 trace(s.name); 12 s.name="YanKaiyu"; 13 trace(s.name); 14 15 16 } 17 18 } 19 20 }
s.name=其实就是set name
trace s.name其实就是调用get name
5.dynamic class
动态类的意思就是运行的时候方法和属性可以自动向内部添加
举例如下
public function test()
{
var s:Student = new Student();
trace(s.name);
s.name="YanKaiyu";
trace(s.name);
trace("Dynamic Class");
var t:Teacher = new Teacher();
t.f=function(a:String)
trace(a);
}
t.f("Dynamic Hello World!");
delete t.f;
t.f("YOU Can");
删除后调用就报错了
5 ActionScript接口的编写
1.定义接口
1 package com.bjsxt.as3 2 { 3 public interface IFlyable 4 { 5 function fly():void; 6 { 7 } 8 9 } 10 }
2.类继承接口
1 import com.bjsxt.as3.IFlyable; 2 3 public class T implements IFlyable 4 { 5 public function T() 6 { 7 8 } 9 10 public function fly():void{ 11 trace("fly"); 12 } 13 }
3.使用类
1 var f:IFlyable = new T(); 2 f.fly();
6.关于数组Array的一些实用
1 SourceCode
var a1:Array = [1,2,3]; var a2:Array = ["a","b","c","d"]; var a3:Array = new Array(); trace(a3.push("one")); trace(a3.push("two")); trace(a3.push("three")); trace(a3); var a4:Array = new Array(3); trace(a4.length); trace(a4[0]); var a5:Array = new Array("zhangssan","lisi","wangwu"); trace("before------------------------------------") trace(a5) a5.unshift('zhaoliu'); trace("after----------------------------------------"); trace(a5); a5.splice(1,0,'sunqi','liuba'); trace(a5); a5.splice(1,2); trace(a5);
2.out
1 2 3 one,two,three 3 undefined before------------------------------------ zhangssan,lisi,wangwu after---------------------------------------- zhaoliu,zhangssan,lisi,wangwu zhaoliu,sunqi,liuba,zhangssan,lisi,wangwu zhaoliu,zhangssan,lisi,wangwu [SWF] E:\ActionScript\test\bin-debug\test.swf - 解压缩后为 1,898 个字节

浙公网安备 33010602011771号