原来多学的是JAVA C 他们对数组的定义很简单(起码现在看来,还是这样比较习惯)。
他们对数组(字符串可以看成字符的数组)定义: int a[100], char s[255];
但是在FLEX [性质] [名称]: [类型] 的结构下 数组的定义:
var a:array= new array();
呵呵 非常别扭 不过理解起来比较容易。
接下来就是自己总结下个人认为应该比较常用的 ,FLEX对数组相关的基础知识:
FLEX对数组定义时候 并没有要求声明所占空间大小,可能这样是为了灵活吧 ,他就免去了C 、JAVA等语言中,有时候对数组定义可能出现的空间浪费现象吧。 还有就是可能这样就有了指针的一些优势 这样ACTIONSCRIPT虽然没有提供指针类型,但是也具备了一定的类似指针特点,呵呵。
FLEX 对数组的操作有点类似于堆栈。因为他没有了对空间的直接声明 所以对其内部元素个数也就很难控制。所以他采用了类似堆栈的操作方法吧。
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
var letter:String = letters.pop(); 从尾删除元素
trace(letters); // a,b
trace(letter); // c
=============================
var letters:Array = new Array("a", "b", "c");
var firstLetter:String = letters.shift(); 从头删除
trace(letters); // b,c
trace(firstLetter); // a
=============================
var letters:Array = new Array();
letters.push("a");
letters.push("b"); 填加元素
letters.push("c");
trace(letters.toString()); // a,b,c
=============================
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
letters.reverse(); 反转顺序
trace(letters); // c,b,a
=============================
var vegetables:Array = new Array("spinach",
"green pepper",
"cilantro",
"onion",
"avocado");
var spliced:Array = vegetables.splice(2, 2); 替换
trace(vegetables); // spinach,green pepper,avocado
trace(spliced); // cilantro,onion
vegetables.splice(1, 0, spliced);
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
然后就是字符串~ 这个和C、 JAVA 有类似的操作和性质 而且 ActionScript 3.0函数手册 上也有详细的文档,在这里不总结了 用到时候去查下 很方便的,
var str:String = "She sells seashells by the seashore.";