`
kkkloveyou
  • 浏览: 26298 次
文章分类
社区版块
存档分类
最新评论

ActionScript3.0知识要点----核心类

 
阅读更多

22.Array splice slice

slice是截取元素组成新的数组,而不改变原有数组类型。新数组包括起点索引而不包括终点索引

var a:Array = ["",1, "two", "three", 4,""];

trace(a.splice(1,2,"one",2)); //1,”two”,置换成one,2

trace(a.splice(-1,0,"four 5"))

trace(a); //,one,two,three,4,four 5,.。结构已改变

trace(a.slice(2,4)); //two,three 。组成新数组

23.Array concatpush 区别

var a:Array = ["",1, "two", "three", 4,""];

var b1:int = 6;

var b2:Array = [7,8,9];

var a1:Array = a.concat(b1,b2);

trace (a1); //,1,two,three,4,,6,7,8,9 。生成新数组

trace (a1.length); // 10

trace (a); //原数组不变

trace("--------------");

a.push(b1,b2);

trace(a); //,1,two,three,4,,6,7,8,9原数组已经改变

trace(a.length); //8 。将b1,b2当成一个元素

24. Array ,回调函数、forEach\every\filter\map\some

回调函数(callback):对数组中的每一项运行的函数

Exp1

//map用法:新生成一个数组,将原数组中的元素修改后添加到新数组

var arr:Array = new Array("one", "two", "Three");

trace(arr); // one,two,Three

var upperArr:Array = arr.map(toUpper);

trace(upperArr); // ONE,TWO,THREE

function toUpper(element:*, index:int, arr:Array):String {

return String(element).toUpperCase(); //toUpperCase():小写改大写

}

Exp2

var s1:Object ={name:"古天乐",age:35};

var s2:Object ={name:"古天乐",age:25};

var s3:Object ={name:"傲天",age:23};

var starlist:Array =[s1,s2,s3];

//every用法:

//用此方法可确定数组中的所有项是否满足某一条件.

//如果全是age>34岁的,则返回true

trace(starlist.every(oldmanList));

//判断是否都是34岁以上

function oldmanList(element:*, index:int, arr:Array):Boolean {

if(element.age>34){

trace(""+(index+1)+"仁兄,就太老了");

return false;

}else{

return true;

}

}

//1仁兄,就太老了

//false

//some用法:确定数组中的所有项是否满足条件.

//判断明星列表中是否有叫古天乐的

trace(starlist.some(isCool));

function isCool(element:*, index:int, arr:Array):Boolean {

if ( element.name == "古天乐")

{

trace("天乐在哦,我爱你");

return true;

}else{

trace("干,不在啊");

return false;

}

}

//天乐在哦,我爱你

//true

//filter用法:对数组中的每一项执行测试函数,并构造一个新数组,其中的所有项都对指定的函数返回 true

//将明星列表starlist中有叫古天乐的元素提取出重新组成一个新数组newStarList

var newStarList = starlist.filter(isCool);

trace(newStarList[1].age); //25

//forEach用法:对数组中的每一项执行函数。

newStarList.forEach(changeName);

function changeName(element:*, index:int, arr:Array):void {

element.name = "小龙女"; //将元素中的name属性值改为”小龙女“;

}

for each(var i in newStarList){

trace(i.name+"芳龄"+i.age);

}

//小龙女芳龄35

//小龙女芳龄25

25.charAt

()

charCodeAt

()

方法

AS中并没有char类型,charCodeAt()返回指定index处的字符的数值 Unicode 字符代码

var str:String = "I love you,安妮";

for (var i:int = 0; i <str.length; i++)

{

trace(str.charAt(i)+" unicode:"+str.charCodeAt(i)+"\t");

}

trace(str.charAt(12));

var str1:String = String.fromCharCode(0x73);

trace(str1);

/*输出

I unicode:73

unicode:32

l unicode:108

o unicode:111

v unicode:118

e unicode:101

unicode:32

y unicode:121

o unicode:111

u unicode:117

, unicode:44

unicode:23433

unicode:22958

s

*/

26.slice\split\substr\substring

slice(startIndex:Number = 0, endIndex:Number = 0x7fffffff):String

返回一个字符串,该字符串包括从 startIndex 字符一直到 endIndex 字符(但不包括该字符)之间的所有字符。

split(delimiter:*, limit:Number = 0x7fffffff):Array

String 对象拆分为一个子字符串数组,方法是在所有出现指定 delimiter 参数的位置进行拆分。

substr(startIndex:Number = 0, len:Number = 0x7fffffff):String

返回一个子字符串,该子字符串中的字符是通过从指定的 startIndex 开始,按照 len 指定的长度截取所得的。

substring(startIndex:Number = 0, endIndex:Number = 0x7fffffff):

返回一个字符串,其中包含由 startIndex 指定的字符和一直到 endIndex - 1 的所有字符。

27.多行输入应用(XMLCDATA

建立一个只含有一个CDATA节点的临时XML,讲多行文本直接复制其中

var xml:XML=

<txt>

<![CDATA[

My love my fate you will fade away

以后隔天与地

I love I hate I'll miss you always

我永远亦爱你

]]>

</txt>

var str:String = xml.toString();

trace(str);

/*输出:

My love my fate you will fade away

以后隔天与地

I love I hate I'll miss you always

我永远亦爱你

*/

28.正则表达式RegExp

flags:String —正则表达式的修饰符。其中包括:

g -- 使用 String 类的 replace() 方法时,指定此修饰符可替换所有匹配项,而不只替换第一个匹配项。此修饰符对应于 RegExp 实例的 global 属性

var re2:RegExp = /Bob/g;

var str = "Bob is a bad man ,is it Bob?";

var repStr = "Tom";

trace(str.replace(re2,repStr)); // Tom is a bad man ,is it Tom?

i --计算正则表达式时不区分大小写。此修饰符对应于 RegExp 实例的 ignoreCase 属性。

var re2:RegExp = /Bob/i;

var str = "bob is a bad man ,is it bob?";

var repStr = "Tom";

trace(str.replace(re2,repStr)); // Tom is a bad man ,is it bob?

s -- (.) 字符与换行符相匹配。请注意,此修饰符对应于 RegExp 实例的 dotall 属性。

var str:String = "<p>Hello\n"+ "again</p>"+ "<p>Hello</p>";

var pattern:RegExp = /<p>.*?<\/p>/;

trace(pattern.dotall) // false

trace(pattern.exec(str)); // <p>Hello</p>

pattern = /<p>.*?<\/p>/s;

trace(pattern.dotall) // true

trace(pattern.exec(str)); /*<p>Hello

again</p>

*/

m -- 尖号 (^) 字符和美元符号 ($) 在换行符之前和之后匹配。此修饰符对应于 RegExp 实例的 multiline 属性。

var pattern:RegExp = /^bob/;

var str:String = "foo\n"

+ "bob";

trace(pattern.multiline); // false

trace(pattern.exec(str)); // null

pattern = /^bob/m;

trace(pattern.multiline); // true

trace(pattern.exec(str)); // bob

x -- 忽略 re 字符串中的空白字符,所以您可以编写更加易读的构造函数。此修饰符对应于 RegExp 实例的 extended 属性。

var rePhonePattern1:RegExp = /\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/;

var str:String = "The phone number is (415)555-1212.";

trace(rePhonePattern1.extended) // false

trace(rePhonePattern1.exec(str)); // (415)555-1212

var rePhonePattern2:RegExp = / \d{3}-\d{3}-\d{4} | \( \d{3} \) \ ? \d{3}-\d{4} /x;

trace(rePhonePattern2.extended) // true

trace(rePhonePattern2.exec(str)); // (415)555-1212

匹配日期

Exp

var pattern:RegExp = /[0-3][0-9]\/[0-1][0-9]\/[0-2][0-9][0-9][0-9]/g;

var str:String = "The date is 23/12/2009 or 23/11/2009 or 09/25/2009.";

trace(str.match(pattern)); // 23/12/2009,23/11/2009

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics