第二章 ActionScript3语言基本元素
不想多说了,直接上代码。
package
{
import flash.display.Sprite;
public class Demo1 extends Sprite
{
// 这是一个构造函数,相当于一个main函数
public function Demo1()
{
// 前面我们可以知道,ActionScript3代码将被编译成ABC码,但是ABC不能独立运行,所以需要放入SWF文件中才可以被Flash Player执行。
// 并且使用Flex Builder,也是将MXML文件转换成ActionScript3,再执行
// 所以这一章我们来了解as3的基础语法。
// 输出函数
trace("Hello World");
// 1、一切都是对象
// 2、数据类型
// 基元数据类型=====int、Number、unit:处理数字的,String:字符串,Boolean:布尔值,true,false。
// 复杂数据类型=====Array,Date,Error,Function,RegExp,XML,XMLList
// 变量的使用:先声明再使用
// 基元数据类型
var a:int = 10;
trace(a);
var b:Number = 12.1;
trace(b);
var c:uint = 1232;
trace(c);
var d:String = "sun";
trace(d);
var e:Boolean = true;
trace(e);
// 复杂数据类型
var arr:Array = new Array(1,2,3);
var arr2:Array = [2,3,4];
trace(arr);
trace(arr2);
var now:Date = new Date();
trace(now.getTime());
trace(now.getDate());
// 使用const声明常量
const foo:int = 10;
trace(foo);
// 所有的基础数据类型(包含基元数据类型以及复杂数据类型)的默认值,和未声明的变量的数据类型
/*
0
NaN
0
null
false
null
null
undefined
*/
var aa:int;
trace(aa);
var bb:Number;
trace(bb);
var cc:uint;
trace(cc);
var dd:String;
trace(dd);
var ee:Boolean;
trace(ee);
var ff:Array;
trace(ff);
var gg:Object;
trace(gg);
var hh;
trace(hh);
// 字符串String的使用
var stringSimple1:String;
var stringSimple2:String = "";
var stringSimple3:String = new String();
var stringSimple4:String = "abc";
var stringSimple5:String = new String("abc");
var stringSimple6:String = 'efg';
trace(stringSimple1);
trace(stringSimple2);
trace(stringSimple3);
trace(stringSimple4);
trace(stringSimple5);
trace(stringSimple6);
// 数组Array的使用
var ar1:Array;
var ar2:Array = new Array();
var ar3:Array = [];
var ar4:Array = new Array(1,2,3);
var ar5:Array = [3,4,5];
var ar6:Array = new Array(6);
trace(ar1);
trace(ar2);
trace(ar3);
trace(ar4);
trace(ar5);
trace(ar6);
trace(ar5[0],ar4[2]);
// 自定义类Object的使用
// Object的成员有两种,一种是属性,用来存放各种数据,一种是方法,存放函数对象
// {重点}==》成员的名字,有时也被称为 键 ,成员被称为与这个键对应的 值 。
var foo1:Object = {name:"sun",age:17};
trace(foo1.name);
trace(foo1.age);
var foo2:Object = {
hello:function():void {
trace("hello");
}
}
foo2.hello();
var foo3:Object = {};
foo3.name = "face";
foo3.like = "cola";
foo3["web"] = "www.sunpine.com";
trace(foo3.name,foo3.like);
trace(foo3["name"],foo3["like"]);
// 使用for循环遍历这个对象,这里可以类比Array,由于Array也是Object的一种,Array可以使用数字来访问成员,Object则通过名字来访问成员(即,foo3.name 或者 foo3["name"],记得加上双引号)
for(var i in foo3) {
// trace(i);
trace(foo3[i]);
}
if(!Number("23")) {
trace("false");
} else{
trace("true");
}
trace("----------------------------------");
// 各个类型的强转问题,
//int
/*
1
0
5
26
3
4
*/
var ii:int;
ii = int(true); trace(ii);
ii = int(false);trace(ii);
ii = int(5.67);trace(ii);
ii = int(0x1A);trace(ii);
ii = parseInt('3');trace(ii);
ii = int("4");trace(ii);
//
var nn:Number;
nn = parseFloat("3.14159265"); trace(nn); //3.14159265
nn = Number("3.14159265"); trace(nn); //3.14159265
//
var bbb:Boolean;
bbb= Boolean(-1); trace(bbb); //true
bbb = Boolean(0); trace(bbb); //false
bbb = Boolean(1); trace(bbb); //true
bbb = Boolean(2); trace(bbb); //true
bbb = Boolean(""); trace(bbb); //false
bbb = Boolean(" "); trace(bbb); //true
var obj11:Object;
var obj22:Object = new Object();
// b = Boolean(obj11); trace(obj11); //false
// b = Boolean(obj22); trace(obj22); //true
//
var str:String;
var arr:Array = ["primary", "secondary", "tertiary"];
str = String(arr); trace(str); //primary,secondary,tertiary
str = String(Math.PI); trace(str); //3.141592653589793
// typeof , is , as, in,delete
// typeof:用字符串形式返回对象的类型
// is:判断一个对象是否属于一种类型,如果是返回true,不是则返回false
// as:与is相似判断一个对象是否属于一种类型,如果是返回对象本身,不是则返回null
// in:判断一个对象是否作为另一个对象的键或索引,存在返回true,不存在返回false。
// delete: 只可以用来删除对象的动态实例属性,非动态属性不能删除
trace(typeof 10);
trace(7 is Number);
trace(7 is Array);
trace(7 as Number);
trace(7 as Array);
/*
number
true
false
7
null
*/
var arr111:Array = new Array("q","w","e");
trace(2 in arr111); // true
trace(3 in arr111); // false
var arr222:Object = {ary:a,name:"OK"};
trace("ary" in arr222); // true
trace("name"in arr222); // true
trace("aaa" in arr222); // false
trace("---------");
var bbb222:Object = {ary:"one", name:"helloworld"};
for(var i in bbb222) {
trace(bbb222[i]);
}
trace("---------");
trace(bbb222.ary);
trace("---------");
delete bbb222.ary;
trace(bbb222.ary);
trace("---------");
/*
---------
helloworld
one
---------
one
---------
undefined
---------
*/
var per:Object = {name:"sun",age:12};
per.weight = 50;
per["hair"] = "black";
trace(per.weight);
trace(per.hair);
}
}
}