首页 > 其他分享 >ActionScript3.0知识要点----核心类

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

时间:2023-06-04 12:06:29浏览次数:55  
标签:数组 trace ActionScript3.0 pattern ---- var str 要点 Array


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 <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.多行输入应用(XML的CDATA)

建立一个只含有一个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

标签:数组,trace,ActionScript3.0,pattern,----,var,str,要点,Array
From: https://blog.51cto.com/u_9427273/6410295

相关文章

  • HTTP、WebSocket、gRPC 或 WebRTC:哪种通信协议最适合您的应用程序?
    在为您的应用程序选择通信协议时,有很多不同的选择。在本文中,我们将了解四种流行的解决方案:HTTP、WebSocket、gRPC和WebRTC。我们将通过调查其背后的技术、它的最佳用途及其优缺点来探索每个协议。我们的通信方式在不断改进:变得更快、更方便、更可靠。我们的通信方式已经从使用信鸽......
  • 网络支付海量数据存取处理的研究
    摘要:随着网络购物的普及,网上支付业务蓬勃发展,同时网络支付行为带来的海量数据处理也给网络支付平台带来了巨大挑战。本文从针对网络支付带来的海量数据带来的问题,通过改进和优化数据库配置、数据分割、数据分类、处理算法、数据访问、虚拟内存和文本格式处理等方面,对网络支付带来的......
  • 系统架构设计师笔记第4期:统一建模语言(UML)
    统一建模语言(UnifiedModelingLanguage,简称UML)是一种用于软件系统分析、设计和文档化的标准建模语言。它提供了一组图形符号和规则,用于描述系统的结构、行为、交互和其他相关方面,以便开发人员、设计师和利益相关者之间进行沟通和共享理解。通过使用UML,开发人员和设计师可以使用标......
  • 了解Sidecar模式
    本文介绍Sidecar模式的特点,及其应用的场景。熟悉NativeCloud或者微服务的童鞋应该知道,在云环境下,技术栈可以是多种多样的。那么如何能够将这些异构的服务组件串联起来,成为了服务治理的一个重大课题。而Sidecar模式为服务治理,提供了一种解决方案。将应用程序的组件部署到单独的进程......
  • 在 Spring 中自定义 scope
    大家对于Spring的scope应该都不会默认。所谓scope,字面理解就是“作用域”、“范围”,如果一个bean的scope配置为singleton,则从容器中获取bean返回的对象都是相同的;如果scope配置为prototype,则每次返回的对象都不同。一般情况下,Spring提供的scope都能满足日常应用的......
  • Angular 应用解决跨域访问的问题
    在前后台分离的应用中,Angular与Java是一对好搭档。但是如果是分开部署应用,则势必会遇到跨域访问的问题。什么是跨域启动应用之后,有些浏览器会提示如下告警信息:No'Access-Control-Allow-Origin'headerispresentontherequestedresource.Origin'http://localhost:4200'i......
  • Spring 的狭义与广义
    Java开发者对于Spring应该不会陌生。Spring可以说是JavaEE开发事实上的标准。无论是Web开发,还是分布式应用,Spring都致力于简化开发者创建应用的复杂性。本文讨论Spring在狭义上以及广义上,所承载的不同的概念。Spring有广义与狭义之说。狭义上的Spring——SpringFram......
  • Spring RestTemplate 调用天气预报接口乱码的解决
    SpringRestTemplate调用天气预报接口可能遇到中文乱码的问题,解决思路如下。问题出现我们在网上找了一个免费的天气预报接口http://wthrcdn.etouch.cn/weather_mini?citykey=101280601。我们希望调用该接口,并将返回的数据解析为JSON格式。核心业务逻辑如下:privateWeatherRespo......
  • 为什么我们迫切需要持续集成(Continuous Integration)
    持续集成(ContinuousIntegration),也就是我们经常说的CI,是现代软件开发技术的基础。本文论述了当前软件开发过程中存在的问题,讲解了持续集成、持续集成服务器的概念,最终探讨了为什么我们需要持续集成来解决这些问题。当前软件开发过程存在的问题在没有应用持续集成之前,传统的开发模......
  • 5、半虚拟化驱动--virtio(linux和windows)和安装Windows server虚拟机
    KVM的功能主要体现在利用KVM的硬件辅助性虚拟化可以提高处理速度。但在虚拟机中,有些硬件不是KVM来实现加速的,如磁盘、内存、网络的性能,如果更好的提升速度,需要安装半虚拟化驱动半虚拟化驱动在软件层通过修改源代码让硬件的操作被虚拟机和宿主机所识别半虚拟化驱动--virtio红帽RHE......