以前一直用Java,由于某些Web场景的开发不得不用到Flash,所以这几天就可以接触ActionScript 3.0,看了一本介绍AS 3.0语法的书,着实惊诧不已,感觉这门语言与Java目前已十分类似,有些人甚至把他称作是Java,Pascal,JS的结合物,其中Flex Builder开发环境是基于Eclipse,并且Flex的可视化组件和Delphi非常类似而且很好用,特别对他的有些语法比较感兴趣,特别是遵循E4X的XML操作规范,数组词典操作,都非常方便,以下是我在看书的过程中编写的示例代码,如下:
代码如下:
import mx.controls.Alert;
internal function btnXMLClick(evtObj:Event){
var xml:XML=<company>
<name>空山雪林工作室</name>
<description>学习测试用的</description>
<person no="1001">
<name>cxlh</name>
<job>manager</job>
</person>
<person no="1002">
<name>otherone</name>
<job>designer</job>
</person>
</company>;
Alert.show("得到工号为1001的雇员:"+xml.person.(@no=="1001").name,"提示");
var onePerson:XML = <person no="1003"><name>thd_one</name><job>developer</job></person>
xml.person +=onePerson;
Alert.show("新增工号为1003的雇员后:"+xml.toXMLString(),"提示");
delete xml.person[2];
Alert.show("删除工号为1003的雇员后:"+xml.toXMLString(),"提示");
}
private function byCustemer(valueA:*,valueB:*):Number
{
if(valueA == valueB) return 0;
else if(valueA < valueB) return -1;
else return 1;
}
internal function btnArrayClick(evtObj:Event){
var array:Array = [1,2,3,4,7];
array.splice(2,1);
Alert.show("删除数组中的第三个元素后:"+array.join(",").toString());
var z:Array=array.slice(0,2);
Alert.show("得到数组第1,2个元素:"+z.join(",").toString());
array.push(10);
Alert.show("新增一个数10后:"+array.join(",").toString());
var sortArray:Array=array.sort(Array.DESCENDING|Array.NUMERIC);
Alert.show("逆序排列后:"+array.toString());
array.sort(byCustemer,Array.DESCENDING);
Alert.show("自定义排列规则后:"+array.toString());
}
internal function btnDictClick(evtObj:Event){
var dict:Dictionary = new Dictionary();
dict["one"] = 1;
dict["tow"] = 2;
if("one" in dict){
Alert.show("词典中有:"+dict["one"]);
}
}
function sum(... numbers):Number{
var result:Number = 0;
for each(var num:Number in numbers){
result += num;
}
return result;
}
function fact(i:uint){
if(i==0)
return 1;
else
return (i*fact(i-1));
}
internal function btnFuncClick(evtObj:Event){
Alert.show("...操作符演示:\n1+2+3="+sum(1,2,3)+"\n"+"4+5="+sum(4,5));
Alert.show("阶乘演示:\n10!="+fact(10));
}
随着我看书的深入, 我将不断补充这个示例程序。