九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

第3章 Flex4腳本語言ActionScript30語言進階

上傳人:dfg****19 文檔編號:247445687 上傳時間:2024-10-18 格式:PPT 頁數(shù):85 大?。?.94MB
收藏 版權(quán)申訴 舉報 下載
第3章 Flex4腳本語言ActionScript30語言進階_第1頁
第1頁 / 共85頁
第3章 Flex4腳本語言ActionScript30語言進階_第2頁
第2頁 / 共85頁
第3章 Flex4腳本語言ActionScript30語言進階_第3頁
第3頁 / 共85頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《第3章 Flex4腳本語言ActionScript30語言進階》由會員分享,可在線閱讀,更多相關(guān)《第3章 Flex4腳本語言ActionScript30語言進階(85頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,*,第,3,章,Flex 4,腳本語言:,ActionScript 3.0,語言進階,3.1,數(shù)學(xué),運算,3.2,數(shù)組,操作,3.3,字符串,操作,3.4,正則表達式,3.5,日期,和時間,3.6 XML,操作,3.1,數(shù)學(xué)運算,3.1.1,求絕對值,Math,類的,abs(),方法可以取得指定數(shù)字的絕對值,語法格式如下:,Math.abs(val),該方法計算并返回由參數(shù),val,指定的數(shù)字的絕對值。例如:,var num:Number=-12.3;,trace(Math.abs(num);,/,輸出結(jié)果

2、:,12.3,3.1.2,求最大最小值,max(),方法可以在多個數(shù)值當(dāng)中計算并返回最大值,而,min(),方法則計算多個數(shù)值中的最小值。語法格式如下:,Math.max(,值,1,值,2,值,n);,Math.min(,值,1,值,2,值,n);,3.1.3,角度計算,在數(shù)學(xué)計算中經(jīng)常要計算與角度有關(guān)的值,如計算角度的正弦值,,Math,類中提供相應(yīng)的方法計算這些值,如表,3.1,所示。,方,法,名,語 法 格 式,說,明,sin(),Math.sin(,弧度,),以弧度為單位計算并返回指定角度的正弦值,cos(),Math.cos(,弧度,),以弧度為單位計算并返回指定角度的余弦值,tan

3、(),Math.tan(,弧度,),以弧度為單位計算并返回指定角度的正切值,asin(),Math.asin(val),以弧度為單位計算并返回由參數(shù),val,指定的數(shù)字的反正弦值,acos(),Math.acos(val),以弧度為單位計算并返回由參數(shù),val,指定的數(shù)字的反余弦值,atan(),Math.atan(val),以弧度為單位計算并返回角度值,該角度的正切值由參數(shù),val,指定。返回值介于負二分之,pi,和正二分之,pi,之間,atan2(),Math.atan2(y,x),以弧度為單位計算并返回點,y/x,的角度,該角度從圓的,x,軸(,0,點在其上,,0,表示圓心)沿逆時針方向

4、測量。 返回值介于正,pi,和負,pi,之間,3.1.4,舍入操作,1,round(),方法,round(),方法可以將小數(shù)轉(zhuǎn)為整數(shù),原則為四舍五入,語法格式如下:,Math.round(val);,該方法將參數(shù),val,的值向上或向下舍入為最接近的整數(shù)并返回該值。 如果,val,與最接近的兩個整數(shù)等距離(即該數(shù)字以“,.5,”結(jié)尾),則該值向上舍入為下一個較大的整數(shù)。,3.1.4,舍入操作,2,floor(),方法,floor(),方法用于去掉一個數(shù)值的小數(shù)部分,語法格式如下:,Math.floor(val);,floor(),方法返回由參數(shù),val,指定的數(shù)字或表達式的下限值。下限值是小于

5、等于指定數(shù)字或表達式的最接近的整數(shù)。例如:,trace(Math.floor(3.4);,/,輸出結(jié)果:,3,trace(Math.floor(-5.5);,/,輸出結(jié)果:,-6,3,ceil(),方法,ceil(),方法也用于去掉數(shù)值的小數(shù)部分,語法格式如下:,Math.ceil(val);,ceil(),方法返回指定數(shù)字或表達式的上限值。數(shù)字的上限值是大于等于該數(shù)字的最接近的整數(shù)。例如:,trace(Math.ceil(3.4);,/,輸出結(jié)果:,4,trace(Math.ceil(-5.5);,/,輸出結(jié)果:,-5,3.1.5,生成隨機數(shù),1,使用,Math,類的,random(),方法

6、,使用,Math,類的,random(),方法可以生成一個偽隨機數(shù)。因為該計算不可避免地包含某些非隨機的成分,所以返回的數(shù)字以保密方式計算且為偽隨機數(shù)。語法格式如下:,Math.random();,該方法的返回值是一個,0,到,0.9999999999999999,的小數(shù)。例如:,trace(Math.random();,/,輸出結(jié)果:隨機小數(shù),random(),方法只能生成隨機小數(shù),但大多數(shù)情況下用戶希望生成整數(shù),這時可以結(jié)合,Math(),類的其他方法生成。,3.1.5,生成隨機數(shù),2,使用,NumberUtilities,類的,random(),方法,在使用前使用,import,語句導(dǎo)入

7、,NumberUtilities,類代碼如下所示:,import ascb.util.NumberUtilities;,NumberUtilities,類的,random(),方法的語法格式如下:,NumberUtilities.random(,最大值,最小值,間隔值,);,其中間隔值參數(shù)為可選,默認為,1,。例如,生成一個,50,100,的隨機數(shù),間隔值為,5,,使用如下語句:,NumberUtilities.random(50,100,5);,3.1.6,其他數(shù)學(xué)運算,1,sqrt(),方法,sqrt(),方法用于計算一個數(shù)的平方根,語法格式如下:,Math.sqrt(val);,2,ex

8、p(),方法,exp(),方法的語法格式如下:,Math.exp(val);,3,log(),方法,log(),方法的語法格式如下:,Math.log(val);,4,pow(),方法,pow(),方法的語法格式如下:,Math.pow(val1,val2);,pow(),方法計算并返回,val1,的,val2,次冪。例如,計算,2,的,10,次方:,trace(Math.pow(2,10);,/,輸出結(jié)果:,1024,3.1.7,應(yīng)用實例:猜數(shù)字,新建一個,MXML,應(yīng)用程序,命名為,Guess.mxml,。在程序文件的設(shè)計模式中拖曳一個,TextInput,標(biāo)簽和一個,Button,標(biāo)簽,

9、在文件的代碼模式中設(shè)計,代碼所示,。,運行結(jié)果如圖所示。,3.2,數(shù)組操作,3.2.1,創(chuàng)建數(shù)組,1,創(chuàng)建空數(shù)組,調(diào)用不帶參數(shù)的,Array(),構(gòu)造函數(shù),可以創(chuàng)建一個空的數(shù)組對象。語法格式如下:,var,數(shù)組變量,:Array = new Array();,例如,創(chuàng)建一個空數(shù)組,arr,如下所示:,var arr:Array=new Array();,2,指定數(shù)組長度,數(shù)組長度是指數(shù)組在內(nèi)存空間中占用的連續(xù)空間長度。例如,設(shè)置數(shù)組長度為,3,,表示該數(shù)組最多可以存儲,3,個元素。將一個數(shù)字用作,Array(),構(gòu)造函數(shù)的唯一參數(shù),則會創(chuàng)建長度等于此數(shù)值的數(shù)組。語法格式如下:,var,數(shù)組變量

10、,:Array=new Array(n);,數(shù)組長度,n,必須是介于,0,和,2,32,-1,(,4,294,967,295,)之間的無符號整數(shù)。創(chuàng)建后的數(shù)組中每個元素的初始值都被設(shè)置為,undefined,。,3.2.1,創(chuàng)建數(shù)組,3,指定數(shù)組元素,調(diào)用,Array(),構(gòu)造函數(shù),并傳遞一個元素列表作為參數(shù),此時將創(chuàng)建一個數(shù)組,這個數(shù)組中的每個元素與參數(shù)對應(yīng)。語法格式如下:,var,數(shù)組變量,:Array=new Array(,元素,1,元素,2, ,元素,n),元素可以是常量或變量,元素的個數(shù)就是數(shù)組的長度。使用這種方式創(chuàng)建的是索引數(shù)組,數(shù)組的鍵名為從,0,開始依次遞增的整數(shù)。例如,第,1

11、,個元素的索引為,0,,第,2,個元素的索引為,1,。數(shù)組創(chuàng)建完后可以使用以下格式訪問數(shù)組中的元素:,數(shù)組變量,索引,3.2.1,創(chuàng)建數(shù)組,4,使用“,”操作符創(chuàng)建數(shù)組,使用“,”操作符可以將數(shù)組文本直接分配給數(shù)組變量,不需要使用,Array(),構(gòu)造函數(shù)。語法格式如下:,var,數(shù)組變量,:Array=,元素,1,元素,2, ,元素,n;,例如:,var arr:Array=1,2,3;,trace(arr.length);,/,輸出結(jié)果:,3,trace(arr0);,/,輸出結(jié)果:,1,3.2.2,查詢數(shù)組,訪問數(shù)組元素一般使用數(shù)組元素的索引值。遍歷數(shù)組中的元素,可以結(jié)合循環(huán)語句實現(xiàn)。例

12、如,以下代碼使用,for,循環(huán)遍歷數(shù)組:,var color:Array=new Array(red,blue,white);,for(var i:int=0; icolor.length; i+),trace(colori);,如果要查詢某個數(shù)組元素,可以在循環(huán)中加入判斷條件,配合,break,語句即可。例如:,var color:Array=new Array(red,blue,white);,for(var i:int=0; icolor.length; i+),if(colori= blue),trace(i+ ,:,+colori);,break;,3.2.3,添加數(shù)組元素,1,使用

13、“,”操作符,使用“,”操作符可以在數(shù)組中添加數(shù)組元素,語法格式如下:,數(shù)組變量,索引,=,元素值,;,如果,Array,數(shù)組對象在該索引處還沒有元素,則創(chuàng)建該索引并將值存儲在該索引中。,2,使用,push(),和,unshift(),方法添加元素,Array,類的,push(),方法用于在數(shù)組末尾添加一個或多個元素。插入的最后一個元素將具有最大索引號。,unshift(),方法用于在數(shù)組開頭插入一個或多個元素,并且始終在索引號,0,處插入。語法格式如下:,數(shù)組變量,.push(,元素,1,元素,2,);,數(shù)組變量,.unshift(,元素,1,元素,2,);,3.2.3,添加數(shù)組元素,3,使

14、用,splice(),方法添加元素,Array,類的,splice(),方法用于在數(shù)組的指定索引處刪除指定數(shù)目的元素,并可以添加新的元素。語法格式如下:,數(shù)組變量,.splice(,指定索引,);,數(shù)組變量,.splice(,指定索引,要刪除的元素數(shù)目,);,數(shù)組變量,.splice(,指定索引,要刪除的元素數(shù)目,新元素,1,新元素,2,新元素,n);,指定的索引可以是負值,表示數(shù)組從尾部倒數(shù)的位置。例如,索引為,-1,表示是倒數(shù)第,1,個元素,索引為,-3,表示是倒數(shù)第,3,個元素。,3.2.4,刪除數(shù)組元素,在,Array,類中可以使用,pop(),和,shift(),方法刪除數(shù)組中不需要

15、的元素。,pop(),方法用于刪除數(shù)組末尾的一個元素,即刪除最大索引號的元素。,shift(),方法用于刪除數(shù)組頭部的一個元素,即刪除索引號為,0,的元素。語法格式如下:,數(shù)組對象,.pop();,數(shù)組對象,.shift();,這兩個方法都返回被刪除元素的值。例如:,var arr:Array = new Array(one,two,three,four,five,six);,trace(arr.pop();,/,輸出結(jié)果:,“,six”,trace(arr.shift();,/,輸出結(jié)果:,“,one”,3.2.5,數(shù)組排序,1,默認排序,Array,類提供了,sort(),方法對數(shù)組的進行

16、排序,使用,sort(),方法排序可以分為基本排序和自定義排序?;九判虬凑漳J順序?qū)?shù)組進行排序,自定義排序可以自定義規(guī)則進行排序。,(,1,)基本排序。,基本排序語法格式下:,數(shù)組對象,.sort(options);,(,2,)自定義排序。,除了可用于,Array,對象的,sort(),方法的基本排序之外,還可以自定義排序規(guī)則。若要自定義排序,需要編寫自定義排序函數(shù),并將該函數(shù)作為參數(shù)傳遞給,sort(),方法。語法格式如下:,數(shù)組對象,.sort(,自定義排序函數(shù)名,);,例如,有一個班級列表,其中每個列表元素都包含班級的名稱(名稱具有一定的格式:類別、班級),如果對班級名稱中的班級類別

17、進行排序,則必須使用自定義排序,。,定義一個函數(shù),orderClass,,用于分析數(shù)組中的每一個元素,并作為參數(shù)傳遞給,sort(),方法,,代碼所示。,3.2.5,數(shù)組排序,2,對象數(shù)組的排序,下面,的示例數(shù)組中每個元素均為對象而非字符串。每個對象中包含人的姓名和年齡如下所示:,var array:Array = new Array();,/,添加對象到,array,數(shù)組中,array.push(name:,張三,age:25);,array.push(name:,李四,age:23);,array.push(name:,王五,age:27);,array.push(name:,趙六,age

18、:20);,sortOn(),方法的語法格式如下:,數(shù)組變量,.sortOn(fieldName , options);,3.2.5,數(shù)組排序,sortOn(),方法定義,fieldName,和,options,兩個參數(shù)。,fieldName,為排序的關(guān)鍵字,可以指定一個或多個,中間用“,|,”隔開,,fieldName,參數(shù)必須為字符串。,options,參數(shù)與,sort(),方法中,options,參數(shù)的用法相同。例如,指定參數(shù)“,age,”和,Array.NUMERIC,調(diào)用,sortOn(),方法如下所示:,/,設(shè)置排序?qū)傩?和排序參數(shù),array.sortOn(age,Array.N

19、UMERIC);,for(var i:uint = 0 ;iarray.length ;i+),trace(name:+arrayi.name + age:+arrayi.age);,輸出結(jié)果如下所示:,name:,趙六,age:20,name:,李四,age:23,name:,張三,age:25,name:,王五,age:27,3.2.5,數(shù)組排序,3,倒序排序,使用,Array,類的,reverse(),方法可以將數(shù)組從當(dāng)前順序切換為相反順序。語法格式如下:,數(shù)組變量,.reverse();,reverse(),方法返回新的數(shù)組,原數(shù)組也相應(yīng)改變。例如:,var arr:Array = n

20、ew Array(one,two,three);,arr.reverse();,trace(arr),/,輸出結(jié)果:,three,two,one,trace(arr);,/,輸出結(jié)果:,three,two,one,3.2.6,創(chuàng)建關(guān)聯(lián)數(shù)組,有兩種,創(chuàng)建關(guān)聯(lián)數(shù)組的方式。,第一種創(chuàng)建關(guān)聯(lián)數(shù)組的方式是使用,Object,實例。使用,Object,實例,可以通過對象文本初始化數(shù)組。,Object,類的實例(也稱為“通用對象”)在功能上等同于關(guān)聯(lián)數(shù)組。通用對象的每個屬性名稱都用作鍵,提供對存儲的值的訪問。定義的語法格式如下:,var,變量名,:Object=,鍵名,1:,值,1,鍵名,2:,值,2, ;

21、,或者先使用,Object,構(gòu)造函數(shù)創(chuàng)建數(shù)組,然后通過“, ,”或“,.,”運算符向數(shù)組中添加新值,格式如下:,var,變量名,:Object=new Object();,變量名,.,鍵名,1=,值,1;,變量名,.,鍵名,2=,值,2;,3.2.6,創(chuàng)建關(guān)聯(lián)數(shù)組,第二種創(chuàng)建關(guān)聯(lián)數(shù)組的方式是先使用,Array,構(gòu)造函數(shù)創(chuàng)建一個空數(shù)組,然后通過“, ,”和“,.,”運算符將鍵和值添加到數(shù)組中,語法格式如下:,var,數(shù)組變量,:Array=new Array();,數(shù)組變量,鍵名,1=,值,1;,數(shù)組變量,鍵名,2=,值,1;,例如,以下示例使用,Array,構(gòu)造函數(shù)創(chuàng)建一個名為,stuInfo

22、,的關(guān)聯(lián)數(shù)組:,var stuInfo:Array=new Array();,stuInfoname= ,張三,;,stuInfoage=20;,trace(stuInfoname);,/,輸出結(jié)果:張三,3.2.7,其他數(shù)組操作,1,合成新數(shù)組,concat(),方法用于將元素或數(shù)組連接到一個數(shù)組的尾部形成新數(shù)組。語法格式如下:,數(shù)組變量,.concat(,參數(shù)列表,);,concat(),將參數(shù)中指定的元素與原數(shù)組中的元素連接,并返回新的數(shù)組。如果這些參數(shù)指定了一個數(shù)組,將連接該數(shù)組中的元素。例如:,var array1:Array = new Array(one,two,three);,

23、var array2:Array = new Array(four,five,six);,/,/,將,array1,與,array2,組合為新的數(shù)組,輸出結(jié)果:,one,two,three,four,five,six,trace(array1.concat(array2);,trace(array1);,/,輸出結(jié)果:,one,two,three,trace(array1.concat(four,five,six);,/,輸出結(jié)果:,one,two,three,four,five,six,2,toString(),方法,使用,Array,類的,toString(),方法可以返回包含數(shù)組中所有元

24、素的逗號分隔列表。例如:,var array:Array = new Array(one,two,three);,trace(array.toString();,/,輸出,結(jié)果:,one,two,three,3.2.7,其他數(shù)組操作,3,join(),方法,join(),方法將數(shù)組中的元素轉(zhuǎn)換為字符串,并在元素間插入指定的分隔符,連接這些元素,然后返回結(jié)果字符串。語法格式如下:,數(shù)組變量,.join(,分隔符,);,如果省略分隔符參數(shù),則默認以逗號分隔。若指定分隔符,則將數(shù)組元素使用分隔符分隔,形成新的連接字符串,并返回。例如:,var array:Array = new Array(one,

25、two,three);,trace(array.join();,/,輸出結(jié)果:,one,two,three,trace(array.join(-);,/,輸出結(jié)果:,one-two-three,4,slice(),方法,slice(),方法可以獲取數(shù)組中一段連續(xù)的元素,且不改變原數(shù)組的內(nèi)容。語法格式如下:,數(shù)組變量,.slice(startIndex, endIndex);,slice(),方法有兩個參數(shù):,startIndex,和,endIndex,。返回值是一個新數(shù)組,新數(shù)組中包含從現(xiàn)有數(shù)組分離的元素副本。返回值數(shù)組從原數(shù)組的,startIndex,索引處的元素開始,到,endIndex,

26、處的前一個元素,結(jié)束。,3.2.8,數(shù)組集合,1,創(chuàng)建對象,創(chuàng)建,ArrayCollection,對象的語法格式如下:,var,變量,: ArrayCollection= new ArrayCollection(source);,其中,使用,source,指定源數(shù)組創(chuàng)建新的,ArrayCollection,對象。如果未指定,source,,則將使用空數(shù)組。例如:,var arr:Array = one,two,three;,/,創(chuàng)建,arr,數(shù)組對象,/,創(chuàng)建,ArrayCollection,集合對象,以,arr,為構(gòu)造方法的參數(shù),var arrColl1:ArrayCollection =

27、new ArrayCollection(arr);,var arrColl2:ArrayCollection = new ArrayCollection(1,2,3);,3.2.8,數(shù)組集合,2,添加項目,使用,addItem(),方法可以向列表末尾添加指定項目。使用,addItemAt(),方法可以在指定的索引處添加項目。語法格式如下:,對象,.addItem(obj);,對象,.addItemAt(obj, index);,參數(shù),obj,為要添加的項目,,index,為要添加項目的索引位置,一般為整數(shù),。,3,查找項目,contains(),方法可以檢測是否包含指定對象的信息,此搜索僅在找

28、到完全與參數(shù)匹配的項目時才會成功。語法格式如下:,對象,.contains(obj);,例如:,var arrColl:ArrayCollection = new ArrayCollection(one,two,three);,if(arrColl.contains(one),/,檢測是否包含元素,“,one”,trace(Contains One!);,getIetmAt(),方法可以獲取指定索引位置的項目,語法格式如下:,對象,.getIetmAt(index);,3.2.8,數(shù)組集合,4,刪除項目,使用,removeItemAt(),方法可以刪除指定索引處的項目。使用,removeAll

29、(),方法可以刪除列表中的所有項目。語法格式如下:,對象,.removeItemAt(index);,對象,.removeAll();,3.2.9,應(yīng)用實例:數(shù)組排序,新建,MXML,應(yīng)用程序,命名為,ArraySort.mxml,。新建文本框(,TextInput,)、下拉框(,DropDownList,)和按鈕(,Button,)。,頁面的代碼,。,運行結(jié)果如圖所示。,3.3,字符串操作,3.3.1,字符串賦值,1,字符串文本,使用字符串文本可以直接給字符串變量賦值。字符串文本由雙直引號(,)或單直引號(,)字符聲明。例如:,var str:String = aaa;,var str2:S

30、tring = aaa ;,字符串必須使用引號封閉,而且封閉的引號必須一致。如果引號中沒有文本,則認為是一個空字符串。如果字符串文本中包含引號,要注意單引號和雙引號的使用。例如,以下代碼中的字符串定義是錯誤的:,var str:String= He said ok.;,3.3.1,字符串賦值,2,字符串對象,所有的字符串操作都是基于,String,類的,所以進行字符串賦值時也可以使用,String,類的構(gòu)造函數(shù)賦值。例如:,var str:String = new String(aaa);,上例與如下所示的字符串賦值語句是等價的:,var str:String = aaa;,3.3.2,連接字

31、符串,1,使用“,+,”或“,+=,”操作符,“,+,”操作符是使加號左邊字符串的尾部和加號右邊字符串的首部相連。例如:,var str:String = Hello ;,var str2:String = World!;,var str3:String = str + str2 ;,trace(str3);,/,輸出結(jié)果:,Hello World,!,“,+=,”操作符表示先進行字符串連接,然后把結(jié)果賦值給第一個字符串變量。例如:,var str1:String = Hello ;,var str2:String = World!;,str1+=str2 ;,trace(str1);,/,輸

32、出結(jié)果:,Hello World,!,3.3.2,連接字符串,2,使用,concat(),方法,String,類的,concat(),方法用于在,String,對象的末尾追加字符串,并返回新字符串,語法格式如下:,String,對象,.concat(args);,使用,concat(),方法后,原,String,對象的值保持不變。例如:,var str:String = Hello ;,var str2:String = World!;,var str3:String = str.concat(str2);,trace(str3);,/,輸出結(jié)果:,Hello World!,3.3.3,計算字

33、符串長度,通過,String,類的,length,屬性可以得到字符串的長度。語法格式如下:,String,對象,.length,使用,length,屬性得到的是一個整數(shù),其值等于字符串中的字符數(shù)。例如:,var str:String = Adobe;,trace(str.length);,/,輸出結(jié)果:,5,空字符串和,null,字符串的長度均為,0,,如下例所示:,var str1:String = new String();,trace(str1.length);,/,輸出結(jié)果:,0,var str2:String = ;,trace(str2.length);,/,輸出結(jié)果:,0,3.3

34、.4,大小寫轉(zhuǎn)換,String,類提供了大小寫轉(zhuǎn)換的方法。使用,toLowerCase(),方法可以將字符串中的英文字母字符轉(zhuǎn)換為小寫,使用,toUpperCase(),方法可以轉(zhuǎn)換為大寫。,語法格式如下:,String,對象,.toLowerCase();,String,對象,.toUpperCase();,例如:,var str:String = AbcDEFgh;,trace(str.toLowerCase();,/,輸出結(jié)果:,abcdefgh,trace(str.toUpperCase();,/,輸出結(jié)果:,ABCDEFGH,trace(str);,/,輸出結(jié)果:,AbcDEFgh,

35、3.3.5,字符串裁剪,使用,trim(),方法,首先需要引入,StringUtil,類,如下所示:,import mx.utils.StringUtil;,StringUtil,類在,Flex,中是一個全靜態(tài)類,用于操作字符對像,不需要建立,StringUtil,實例就可以使用,StringUtil,類的方法。,trim(),方法語法格式如下:,StringUtil.trim(,字符串,);,3.3.6,字符串比較,字符串之間可以使用比較運算符“,”、“,=,”和“,”進行比較。例如:,var str:String = A;,var str2:String = a;,trace(strstr

36、2);,/,輸出結(jié)果:,true,可以將字符串之間的比較用于條件語句(如,if,和,while,),例如:,var str:String = A;,var str2:String = a;,if(strstr2),trace(A,小于,a,!,);,else if(str = str2),trace(A,等于,a,!,);,else,trace(A,大于,a,!,);,3.3.7,獲取子字符串,1,substring(),方法,語法格式如下:,String,對象,.substring(startIndex,endIndex) ;,substring(),方法返回一個字符串,其中包含由,star

37、tIndex,位置的字符和一直到,endIndex-1,位置的所有字符。,2,substr(),方法,語法格式如下:,String,對象,.substr(startIndex, len) ;,substr(),方法獲取從,startIndex,位置開始的,len,個字符的子字符串。例如:,var str:String = Hello World!;,trace(str.substr(0,5);,/,輸出結(jié)果:,Hello,3.3.7,獲取子字符串,3,slice(),方法,語法格式如下:,String,對象,.slice(startIndex,endIndex) ;,slice(),方法和,s

38、ubstring(),方法的功能相同,參數(shù)也一致。但不同的是,,slice(),方法可以使用負整數(shù)作為參數(shù)。當(dāng)指定兩個非負整數(shù)作為參數(shù)時,,slice(),方法的運行方式將與,substring(),完全一樣;如果使用負整數(shù)作為,slice(),方法的參數(shù),則字符位置將從字符串末尾開始向前算起。例如:,var str:String = Hello World!;,trace(str.substring(1,7);,/,輸出結(jié)果:,ello W,trace(str.slice(-11,7);,/,輸出結(jié)果:,ello W,3.3.7,獲取子字符串,4,charAt(),方法,如果要獲取字符串中某

39、個位置的單個字符,可以使用,charAt(),方法。語法格式如下:,String,對象,.charAt(index);,參數(shù),index,表示字符的位置,為正整數(shù)。例如:,var str:String= hello;,for(var i:int=0; istr.length; i+),trace(str.charAt(i);,/,輸出結(jié)果:,h e l l o,3.3.8,字符串查找,1,indexOf(),和,lastIndexOf(),方法,indexOf(),和,lastIndexOf(),方法用于在字符串內(nèi)查找匹配的子字符串。語法格式如下:,String,對象,.indexOf(val

40、 ,startIndex);,String,對象,.lastIndexOf(val , startIndex);,參數(shù),val,為要查找的字符串。參數(shù),startIndex,為開始查找的索引位置。如果省略參數(shù),start Index,,則,indexOf(),方法默認為,0,,,lastIndexOf(),方法默認為字符串的結(jié)束位置,。,2,search(),方法,search(),方法返回與給定模式相匹配的,第一個子字符串的索引位置。語法格式如下:,String,對象,.search(pattern);,參數(shù),pattern,為要匹配的模式,可以為任何類型的對象,但通常是字符串或正則表達式。

41、,search(),方法搜索指定的,pattern,,并返回第一個匹配子字符串的索引。如果沒有匹配的子字符串,該方法返回,-1,。例如:,var str:String = Hello World!;,trace(str.search(World);,/,輸出結(jié)果:,6,3.3.8,字符串查找,3,match(),方法,match(),方法可以解決多個匹配項的問題,它搜索一個匹配的子字符串,語法格式如下:,String,對象,.match(pattern);,match(),方法通常與,正則表達式一起,使用,如果找到匹配項,則返回一個字符串?dāng)?shù)組,其中包括與指定的,pattern,匹配的字符串中的

42、所有子字符串。但如果,pattern,中未設(shè)置,g,(全局)標(biāo)志,則返回的數(shù)組中包含的匹配項將不多于一項。例如:,var str:String = I say to others the Words hello world!;,trace(str.match(the);,/,輸出結(jié)果:,the,3.3.9,字符串替換,String,類提供了,replace(),方法進行字符串替換操作。,replace(),方法的語法格式如下:,String,對象,.replace(pattern, val);,參數(shù),pattern,為要搜索的字符串模式,參數(shù),val,為要替換的字符串。,replace(),方

43、法相對于字符串匹配指定的,pattern,進行替換,并返回一個新字符串,其中,僅將的第一個,pattern,匹配項替換為,val,所指定的內(nèi)容。例如:,var str:String=My name is Tom, what is your name;,trace(str.replace(is,is not);,/,輸出結(jié)果:,My name is not Tom, what is,your,name,3.3.10,其他對象轉(zhuǎn)換為字符串,ActionScript,中所有對象都提供,toString(),方法,用于獲取任何類型對象的字符串表示形式。例如:,var i:uint = 101 ;,tr

44、ace(i.toString();,/,輸出結(jié)果:,101,在,使用“,+,”連接運算符連接,String,對象和不屬于字符串的對象時,無須使用,toString(),方法。,3.3.11,應(yīng)用實例:統(tǒng)計字數(shù),新建一個,MXML,應(yīng)用程序,命名為,CountWords,。在程序文件的設(shè)計模式中拖曳一個,TextArea,標(biāo)簽用于輸入大段文字,拖曳一個,TextInput,標(biāo)簽用于輸入要統(tǒng)計的字符,界面如圖所示。,3.3.11,應(yīng)用實例:統(tǒng)計字數(shù),主程序文件的,代碼所示,。,執(zhí)行結(jié)果如圖所示。,3.4,正則表達式,3.4.1,正則表達式基礎(chǔ),使用正則表達式可以完成以下的功能。,測試字符串的某個模

45、式。例如,可以對輸入字符串進行測試,檢查在該字符串是否存在,Email,地址模式或信用卡號碼模式。這稱為數(shù)據(jù)有效性驗證。,替換文本。可以在文檔中使用正則表達式標(biāo)志特定字符串,然后可以全部將其刪除,或者替換為其他的字符串。,根據(jù)模式匹配從字符串中提取一個子字符串。可以用于在文本或輸入字段中查找特定字符串。,3.4.2,正則表達式語法,1,匹配模式,匹配模式中可以包含普通字符、元字符及不可見字符。表,3.2,列出了,ActionScript 3.0,中正則表達式的普通字符、元字符和不可見字符。,字,符,說,明,普通文字和符號,A,到,Z,,,a,到,z,,數(shù)字,0,到,9,,以及不是元字符的其他符

46、號(如,#,、,=,),元字符,11,個被保留做特殊用途的符號:,$.|?*+(),不可見字符,cx,、,f,、,n,、,r,、,s,、,S,、,t,、,v,3.4.2,正則表達式語法,由元字符與普通字符組成的匹配模式常用語法格式,如表,3.3,所示,。不可見字符的說明如表,3.4,所示。,字,符,說,明,cx,匹配由,x,指明的控制字符。例如,,cM,匹配一個,Control-M,或回車符。,x,的值必須為,A,Z,或,a,z,之一。否則,將,c,視為一個原義的,c,字符,f,匹配一個換頁符。等價于,x0c,和,cL,n,匹配一個換行符。等價于,x0a,和,cJ,r,匹配一個回車符。等價于,

47、x0d,和,cM,s,匹配任何空白字符,包括空格、制表符、換頁符等。等價于,fnrtv,S,匹配任何非空白字符。等價于,fnrtv,t,匹配一個制表符。等價于,x09,和,cI,v,匹配一個垂直制表符。等價于,x0b,和,cK,3.4.2,正則表達式語法,表,3.5,列出了這些組合及它們的作用,通過表中的組合可以使正則表達式變得更簡潔。,字,符,說,明,b,匹配一個單詞邊界,即指單詞和空格間的位置。例如,,erb,可以匹配,never,中的,er,,但不能匹配,verb,中的,er,B,匹配非單詞邊界。,erB,能匹配,verb,中的,er,,但不能匹配,never,中的,er,d,匹配一個數(shù)

48、字字符。等價于,0-9,D,匹配一個非數(shù)字字符。等價于,0-9,w,匹配包括下劃線的任何單詞字符。等價于,A-Za-z0-9,W,匹配任何非單詞字符,等價于,A-Za-z0-9_,xn,匹配,n,,其中,n,為十六進制轉(zhuǎn)義值。十六進制轉(zhuǎn)義值必須為確定的兩個數(shù)字長。例如,,x41,匹配,A,。,x041,則等價于,x04 &1,。正則表達式中可以使用,ASCII,編碼,num,匹配,num,,其中,num,是一個正整數(shù)。對所獲取的匹配的引用。例如,,(.)1,匹配兩個連續(xù)的相同字符,n,標(biāo)志一個八進制轉(zhuǎn)義值或一個后向引用。如果,n,之前至少,n,個獲取的子表達式,則,n,為后向引用。否則,如果,

49、n,為八進制數(shù)字,(0,7),,則,n,為一個八進制轉(zhuǎn)義值,nm,標(biāo)志一個八進制轉(zhuǎn)義值或一個后向引用。如果,nm,之前至少有,nm,個獲取的子表達式,則,nm,為后向引用。如果,nm,之前至少有,n,個獲取,則,n,為一個后跟文字,m,的后向引用。如果前面的條件都不滿足,若,n,和,m,均為八進制數(shù)字,(0,7),,則,nm,將匹配八進制轉(zhuǎn)義值,nm,nml,如果,n,為八進制數(shù)字,(0,3),,且,m,和,l,均為八進制數(shù)字,(0,7),,則匹配八進制轉(zhuǎn)義值,nml,un,匹配,n,,其中,n,是一個用四個十六進制數(shù)字表示的,Unicode,字符。例如,,u00A9,匹配版權(quán)符號,(),,,

50、u4e00-u9fa5,匹配中文字符,3.4.2,正則表達式語法,2,正則表達式的標(biāo)志位,正則表達式的標(biāo)志位一共有五種。每種標(biāo)志都可以作為正則表達式對象屬性進行訪問,如表,3.6,所示。,標(biāo),志,位,全,稱,含,義,g,global,全局匹配,匹配多個,i,ignoreCase,不區(qū)分大小寫的匹配,應(yīng)用于,AZ,和,az,字符,m,multiline,設(shè)置此標(biāo)志后,,$,和,可以分別匹配行的開頭和結(jié)尾,s,dotall,設(shè)置此標(biāo)志后,點“,.,”,可以匹配換行符“,n,”,x,extended,允許擴展的正則表達式,3.4.3,創(chuàng)建正則表達式,創(chuàng)建實例的方式有兩種,第一種方式是使用,RegEx

51、p,數(shù)據(jù)類型聲明一個正則表達式,第二種方式是創(chuàng)建一個,RegExp,類的實例聲明正則表達式。,使用,RegExp,數(shù)據(jù)類型聲明的語法格式如下:,var,變量,:RegExp=,正則表達式,;,例如:,var myPattern:RegExp=/hello/g;,3.4.4,使用正則表達式,1,RegExp,類的,test(),和,exec(),方法,創(chuàng)建正則表達式對象后可以設(shè)置正則表達式對象的,lastIndex,屬性,該屬性指定字符串中開始進行下一次搜索的索引位置。此屬性影響,RegExp,類的,exec(),和,test(),方法。,test(),方法用于檢查在給定的字符串中是否包含正則表

52、達式的匹配內(nèi)容,語法格式如下:,RegExp,對象,.test(str);,參數(shù),str,為給定的字符串,如果搜索到匹配項,,test(),方法返回,true,,否則返回,false,。例如:,var re1:RegExp = /w/g;,var str:String = a b c;,trace(re1.lastIndex);,/,輸出結(jié)果:,0,trace(re1.test(str);,/,輸出結(jié)果:,true,trace(re1.lastIndex);,/,輸出結(jié)果:,1,trace(re1.test(str);,/,輸出結(jié)果:,true,trace(re1.lastIndex);,/,

53、輸出結(jié)果:,3,trace(re1.test(str);,/,輸出結(jié)果:,true,trace(re1.lastIndex);,/,輸出結(jié)果:,5,trace(re1.test(str);,/,輸出結(jié)果:,false,3.4.4,使用正則表達式,exec(),方法也是用于檢查在給定的字符串中是否包含正則表達式的匹配內(nèi)容,但是該方法返回的是一個數(shù)組對象,其中元素,0,包含第一個完全匹配的子字符串,其他元素(,1,到,n,)包含與正則表達式中的括號組相匹配的子字符串,語法格式如下:,RegExp,對象,.exec(str);,返回的數(shù)組對象還有一個,index,屬性,指明了匹配的子字符串在字符串中

54、的字符位置。另外一個,input,屬性,保存了輸入字符串。例如:,var myPattern:RegExp = /(w*)sh(w*)/i;,var str:String = She sells seashells by the seashore;,var result:Object = myPattern.exec(str);,trace(result);,/,輸出結(jié)果:,She, ,e,trace(result.index);,/,輸出結(jié)果:,0,trace(result.input);,/,輸出結(jié)果:,She sells seashells by,/,the seashore,3.4.4

55、,使用正則表達式,2,String,類的,search(),和,match(),方法,使用,search(),和,match(),方法都需要使用確切的匹配字符串進行操作,使用正則表達式則可以進行更復(fù)雜的模式匹配。例如,查找含有,The,字符串的單詞如下所示:,var pattern:RegExp = /(w*)The(w*)/ig;,var str:String = I say to others The Words hello world!;,trace(str.search(pattern);,/,輸出結(jié)果:,9,trace(str.match(pattern);,/,輸出結(jié)果:,othe

56、rs, The,3.4.4,使用正則表達式,3,String,類的,replace(),方法,String,類的,replace(),方法中如果要進行復(fù)雜的替換,可以使用正則表達式作為替換模式進行替換。例如:,var pattern:RegExp = /The/ig;,var str:String = I say to others The Words hello world!;,trace(str.replace(pattern,RE);,/,輸出結(jié)果:,I say to oRErs RE Words hello world!,3.4.4,使用正則表達式,因為在正則表達式中設(shè)置了“,i,”標(biāo)

57、志,所以匹配的字符串是不區(qū)分大小寫的;因為設(shè)置了“,g,”標(biāo)志,所以會替換多個匹配項??梢栽谔鎿Q字符串中包括“,$,”替換代碼。表,3.7,所示的替換文本將插入并替換“,$,”替換代碼。,$,代碼,替,換,文,本,$,$,$&,匹配的子字符串,$,字符串中位于匹配的子字符串前面的部分。此代碼使用左單直引號字符,(),而不是單直引號,(),或左單彎引號,( ),$,字符串中位于匹配的子字符串后的部分。此代碼使用單直引號,( ),$n,第,n,個捕獲的括號組匹配項,其中,n,是,1,9,之間的數(shù)字,而且,$n,后面沒有十進制數(shù)字,$nn,第,nn,個捕獲的括號組匹配項,其中,nn,是一個十進制的兩

58、位數(shù)(,01,99,)。如果未定義第,nn,個捕獲內(nèi)容,則替換文本為空字符串,3.4.5,應(yīng)用實例:驗證表單,新建一個,MXML,應(yīng)用程序,命名為,Veriform,。在,Veriform.mxml,文件的設(shè)計模式下設(shè)計本程序的界面,如圖所示。,3.4.5,應(yīng)用實例:驗證表單,主程序界面的代碼如下:,3.4.5,應(yīng)用實例:驗證表單,在,標(biāo)簽中編寫,ActionScript,代碼,兩個函數(shù)所示。,程序的運行結(jié)果如圖所示。,3.5,日期和時間,3.5.1,創(chuàng)建日期和時間,根據(jù)參數(shù)的不同,創(chuàng)建,Date,對象的情況分為以下四種。,1,未給定參數(shù),如果創(chuàng)建,Date,對象時,Date(),構(gòu)造函數(shù)沒有

59、指定參數(shù),則按照所在時區(qū)的本地時間,返回包含當(dāng)前日期和時間的,Date,對象。語法格式如下:,var,變量名,:Date = new Date();,例如:,var now:Date=new Date();,trace(now.toString();,2,給定一個數(shù)字參數(shù),如果僅給定了一個數(shù)字參數(shù),則,Date(),構(gòu)造函數(shù)將其視為自,GMT,時間,1970,年,1,月,1,日以來經(jīng)過的毫秒數(shù),并且返回對應(yīng)的,Date,對象。語法格式如下:,var,變量名,:Date = new Date(val);,例如,創(chuàng)建一個設(shè)置為,1970,年,1,月,1,日過完一天的日期和時間對象:,var val

60、:int=1000*60*60*24,var startTime:Date=new Date(var);,trace(startTime);,/,輸出結(jié)果:,Fri Jan 2 08:00:00 GMT+0800 1970,3.5.1,創(chuàng)建日期和時間,3,給定一個字符串參數(shù),如果給定一個字符串參數(shù),則,Date(),構(gòu)造函數(shù)將嘗試將字符串解析為日期和時間兩個部分,然后返回對應(yīng)的,Date,對象。語法格式如下:,var,變量名,:Date = new Date(str);,字符串參數(shù),str,必須包含一個有效日期,否則將解析錯誤。日期可以有多種格式,但必須至少包括月、日和年。例如,“,Feb 1 2005,”是有效的,而“,Feb 2005,”則是無效的。,4,給定多個數(shù)字參數(shù),如果給定多個數(shù)字參數(shù),則,Date(),構(gòu)造函數(shù)將這些參數(shù)分別視為年、月、日、小時、分鐘、秒和毫秒,并返回一個對應(yīng)的,Date,對象。語法格式如下:,var,變量名,:Date = new Date(year, month, date, hour, minute, second, millisecond);,3

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!