您当前的位置: 首页 > 

_waylau

暂无认证

  • 6浏览

    0关注

    275博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

_waylau 发布时间:2011-08-05 17:29:44 ,浏览量:6

 

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 中concat与push 区别

 

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

 My love my fate you will fade away

 以后隔天与地

 I love I hate I'll miss you always

 我永远亦爱你

                    ]]>

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 = "

Hello\n"+ "again

"+ "

Hello

";

var pattern:RegExp = /

.*?/;

trace(pattern.dotall)          // false

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

Hello

 

pattern = /

.*?/s;

trace(pattern.dotall)           // true

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

Hello

again

*/

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

关注
打赏
1651845987
查看更多评论
立即登录/注册

微信扫码登录

0.0488s