As3基礎部分3
第三部分
1.核心類與函式
1.核心類
- 根基:Object
- 語言結構:Class,Function,Namespace,arguments
- 基本型別:int,Boolean,Number,String,uint
- 常用複雜型別:Array,Date,RegExp
- XML相關類:XML,XMLList,Qname
2.全域性函式類
- 型別轉化
- 編碼解碼
- 判值函式
- 字串轉數字函式
- 控制檯函式
2.陣列
- 訪問元素用[]符合
- 陣列長度 length
- 使用超過“陣列長度-1”的索引值會給新的成員賦值
- 強行減小陣列長度會刪減陣列元素
- 多維陣列
查詢(indexOf,lastIndexOF)
使用
目標陣列.indexOf(元素)
目標陣列.indexOf(元素,查詢的起始位置)
目標陣列.lastIndexOf(元素)
目標陣列.lastIndexOf(元素,查詢的起始位置)判斷查詢的滿足條件為“===”全等
首尾新增新元素(push,unshift)
- 使用
陣列.push(元素1,元素2,…n)
陣列.unshift(元素1,元素2,…n)- 使用
刪除陣列首尾元素(pop,shift)
- 使用
陣列.pop();
陣列.shift();- 使用
插入,刪除元素(splice)
- 使用
陣列.splice(刪除點的索引,要刪除的元素數目,新元素1,…n)
陣列.splice(刪除點的索引,要刪除的元素數目)
陣列.splice(刪除點的索引)
陣列.splice(刪除點的索引,0,新元素1,…n)- 使用
獲取陣列部分元素(slice)
- 使用
陣列.slice(起點索引,終點索引)
陣列.slice(起點索引)- 使用
合併(concat)
- 使用
陣列.concat(引數1,引數2,…n)
- 使用
陣列的淺複製和深複製
- 淺複製(concat,slice)
var copy:Array = originalArray.concat(); var copy:Array = originalArray.slice();
改動淺複製的引用陣列將會導致原陣列內容的變化
- 深複製(ByteArray)
//複製foo var foo:Array = [“a string element”,arrayElement , obejctElement]; var
- 淺複製(concat,slice)
排序(reverse,sort,sortOn)
使用
陣列.reverse();//將陣列中的元素倒序
陣列.sort();//預設排序
陣列.sort(排序方式(定義好的整數常量));
陣列.sort(比較函式(函式名));
陣列.sortOn(“name”);//根據指定屬性,預設排序
陣列.sortOn(“name”,排序方式(定義好的整數常量));
陣列.sortOn(“name”,比較函式(函式名));
排序方式
Array.CASEINSENSITVE //值為1,按字母順序排序(大小寫不敏感),按數字從小到大排序
Array.DESCENDING //值為2,字母倒序排序
Array.UNIQUESORT //值為4,必須是唯一性排序,如果比較值結果,則放棄排序
Array.RETURNINDEXEDARRAY //值為8,讓sort()和sortOn()函式返回值返回排序後的索引列表,同時保持原陣列不變
Array.NUMBIC //值為16,強制ort()和sortOn()中對數值採用從小到大排序
比較函式
function 函式名(引數A:型別,引數B:型別):int{……}
運算元組每個元素(forEach,every,filter,map,some)
//遍歷操作
forEach(callback:Function,this.Object:*=null):void
//過濾器
filter(callback:Function,this.Object:*=null):Array
//對映器
map(callback:Function,this.Object:*=null):Array
//有一個滿足為真
some(callback:Function,this.Object:*=null):Boolean
//全滿足為真
every(callback:Function,this.Object:*=null):Boolean
3.字串String
1.針對字元操作
charAt(i); //訪問目標位置的字元
charCodeAt(i); //得到目標位置字元的Unicode字元的整數字符程式碼
fromCharCode(); //從指定Unicode值得到相應的字串
2.不變物件
3.過載(+,+=,<,<=,>,>=)
4.常用字串操作
indexOf()與search()
indexof()引數為普通字串
search()引數必須為正則表示式
substring(),slice(),substr()
長字串變數.substring(起始位置,終點位置)
長字串變數.slice(起始位置,終點位置)
長字串變數.substr(起始位置,擷取字串長度)
split與正則表示式結合
var str:String = “Sky 666”; var delimiter:RegExp = /(\d+)/ str.split(delimiter);//提取數字
Util工具類
StringUtil.trim(str:String):void //截斷字串首尾空白
StringUtil.substitute(str:String,…rest):String //替換字串
StringUtil.trimArrayElements(value:String,delimiter:String):String //分割
StringUtil.isWhitespace(character:String):Boolean //檢測空白字元
4.XML資料處理
1.語法
根元素(有且只有一個)
開始標記與結束標記
合理巢狀元素
大小寫敏感
命名規則
- 元素名字可以包含字母,數字,其他字元
- 元素名字不能以數字或者標點符合開頭,不能以(XML,xml,…開頭
- 元素名字不包含空格
元素帶有屬性用””標識
<!--註解-->
- 所有XML文件中文字都會被解析器解析,只有在CDATA部件中會被忽略
2.建立
1.使用建構函式
var foo:String = “<book><name>As3</name> <page>500</page></book>”;
var fooXML:XML = new XML(foo);
2.使用XML文字
var kingdaXML =
<websites>
<site name = “” url=””>
<description>
....
</description>
</site>
</websites>
3.操作
- 使用“.”與“@”直接訪問XML物件
trace(kingdaXML .site.description);//訪問
trace(kingdaXML [email protected]);//訪問site中name屬性
- 使用“.”與“@”直接訪問,修改,建立和刪除XML物件
kingdaXML [email protected] = “” //修改site中name屬性
- 使用“.”與“@”直接新增和刪除XML物件
kingdaXML .site[0].author = new XML();//新增一個空白節點
kingdaXML .site[0][email protected] = “”//新增屬性
delete kingdaXML .site[0].author //delete關鍵字刪除
- 搜尋XML物件子元素與屬性
- 後裔訪問符(..)
kingdaXML..description //訪問名為description 的子節點
- 萬用字元(*)
[email protected]*.toXMLString();//查詢site子元素的屬性返回XMLList物件
- 表示式制定查詢子元素條件
kingdaXML.site.(description<10000);
- 表示式制定查詢屬性條件
kingdaXML.site.(@name == “”);
- 後裔訪問符(..)
4.API實現XML操作
appendChild(child:Object):XML
//在當前子元素列表之後新增
var foo:XML = <data/>
foo.appendChild(<d>ddd</d>);
//輸出foo
<data>
<d>ddd</d>
</data>
prependChild(value:Object):XML
//在當前子元素列表之前新增
foo.prependChild(<b>bbb</b>);
//輸出foo
<data>
<b>bbb</b>
<d>ddd</d>
</data>
insertChildAfter(child1:Object,child2:Object):*
//在當前子元素child1之後新增
var cNode:XML = <c>ccc</c>;
foo.insertChildAfter(foo.b,cNode);
//輸出
<data>
<b>bbb</b>
<c>ccc</c>
<d>ddd</d>
</data>
insertChildBefore(child1:Object,child2:Object):*
//在當前子元素child1之前新增
var aNode:XML = <a>aaa</a>;
foo.insertChildBefore(foo.b,aNode);
//輸出
<data>
<a>aaa</a>
<b>bbb</b>
<c>ccc</c>
<d>ddd</d>
</data>
5.XML名稱空間
- 方法:
- 為XML加名稱空間:
addNameapace()
- 設定與XML物件關聯的名稱空間:
setNameapace()
- 設定預設名稱空間:
default xml namespace
- 為XML加名稱空間:
5.異常與錯誤的捕捉與處理
1.try-catch-finally
try{
//異常嫌疑語句
}catch(){
//生成異常物件,終止try
//AVM會按catch語句順序,查詢和異常物件對應的catch塊
//發現異常物件,捕獲由catch塊語句處理
}finally{
//一定執行
}
2.throw丟擲異常
public function ThrowError(){
try{
//生成Error物件丟擲
var CustomError_1:TypeError = new TypeError ( “......” , 1200);
throw CustomError_1
//丟擲匿名Error物件
throw new Error(“......”);
//丟擲一個函式返回Error物件
var errorCause:Number = 5000;
throw reportErrorFunc(errorCause);
}catch(e:Error){
trace(e);
}
}
3.自定義異常
public function A extends SecurityError(){
//自己定義程式碼
.......
}
4.AS3中的異常層次與結構
- 良好支援
- Error類所包含的資訊量豐富
- 系統預定義異常
- 自動丟擲系統預定義異常
- API更準確的異定位
- 不會降低程式執行效率
- 處理異常原則與方式
- 提倡
- 遇到異常就處理
- 針對不同的方法提出具體解決方案
- 保持對異常的記錄,總結經驗
- 忌諱
- 不要使用空程式碼處理異常
- 不要用寬廣的異常對待具體的問題
- 儘量少使用異常處理機制
- 提倡
5.對異常事件的處理
- 型別:
- 擴充套件ErrorEvent類的異常事件
- 基於狀態類的異常事件
- 處理:
- 新增偵聽器,與try功能相似
- 變形偵聽器函式,與catch功能相似
相關推薦
As3基礎部分3
第三部分 1.核心類與函式 1.核心類 根基:Object 語言結構:Class,Function,Namespace,arguments 基本型別:int,Boolean,Number,String,uint 常用複雜型別:Array,Da
JavaScript基礎部分3
加載完成 滾動條 延時 兩個 func document elb 定義 兄弟節點 1.節點及類型 1) 文檔節點 整個html文檔 2) 元素節點:html文檔中的html標簽 3) 屬性節點:元素的屬性,可以直接通過屬性的方式操作 4) 文本節點:是元素節點的子節點,其內
一、基礎部分-3. 字符串格式化
字符串格式化一、如何打印字符串中的變量呢? #!/usr/bin/env python #-*- coding: utf-8 -*- #循環打印 for i in ["張三","李四","王五"]: print("尊敬的%s,您好.." %i) #字符串中有1個%s,說明有1個變量。 #如果字符
JS面向物件程式設計基礎部分(3) 4.1
Document物件 定義:document物件代表的整個html文件,因此可以去訪問到當前文件中的各個物件(元素)。 1) write() 向文件寫文件或HTML表示式或JavaScript程式碼 2) written() 等同於write()方法,不同的是在每個表示式
Java面試筆試知識點之基礎部分3
一、Java基礎部分 1-5問題見部落格:點選開啟連結 6-10問題見部落格:點選開啟連結 11、是否可以繼承String類。 不可以,因為String類有final修飾符,而final修飾的類是不能被繼承的,實現細節不允許改變public final cla
Java基礎部分(3)
Java中的常用類2 集合 陣列與集合的區別: 1、陣列長度固定,集合長度可變。 2、陣列可以儲存基本資料型別,集合只能儲存物件。 集合類的結構圖以及相關特點: Collection |--List 有序,可重複 |--ArrayList
資料庫基礎(3)函式依賴-平凡依賴,完全依賴,部分依賴,傳遞依賴
函式依賴是關係資料庫中非常重要的概念 包括平凡依賴,完全依賴,部分依賴以及傳遞依賴 ,這些都是關係資料庫正規化的基礎 函式依賴基本概念 函式依賴基本定義 簡單來說就是,只要屬性X的屬性值一樣(x1=x2) 那麼 屬性Y中的屬性值就一樣(y1=y2),就說明Y依賴於X
Java基礎部分總結3
java中沒有’\0’這一說 java.lang包是java語言的核心包,lang是language的縮寫 java.lang包定義了一些基本的型別,包括Integer,String之類的,是java程式必備的包,有直譯器自動引入,無需手動匯入 繼
(三)XML基礎(3)
ack cdata mage void 元素節點 images 包含 exce -1 五、XPath:快速定位到節點 5.1 簡介 5.2 語法 5.3 案例 XPath對有命名空間的xml文件和沒有命名空間的xml定位節點的方法是
北漂面試經歷(一(兩)年工作經驗)-- Java基礎部分
map its all 。。 構造 key 持有對象 面試經歷 idt Java基礎部分 常量和變量的區別:final 關鍵詞修飾的變量是恒定不變的,如果還有static關鍵詞修飾的話,常常稱為編譯期常量。變量,運行時可以修改其引用。 Java基本類似有哪些 1
[轉]Eclipse插件開發之基礎篇(3) 插件的測試與調試
case ews ... 有時 sam cancel workbench osgi ring 原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/08/17/eclipse_plugin_1_1_2.html 1. 使用JU
Swift 學習- 02 -- 基礎部分2
sta dict 占位符 下標索引 協議 pap ati 負數 將不 class NamedShape{ var numberOfSides: Int = 0 var name: String init(name: String) {
《遊戲腳本的設計與開發》-(RPG部分)3.8 通過腳本來自由控制遊戲(一)
pan tro prototype chan detail 大致 位置 trim dir 註意:本系列教程為長篇連載無底洞。半路殺進來的朋友,假設看不懂的話。請從第一章開始看起。文章文件夾請點擊以下鏈接。http://blog.csdn.net/lufy_legend/a
轉:面試題收集——Java基礎部分(一)
試題 地址 基本上 odk 屬於 組合 bool 什麽 nod 1、一個".java"源文件中是否可以包括多個類(不是內部類)?有什麽限制? 可以有多個類,但只能有一個public的類,並且public的類名必須與文件名相一致。 2、Java有沒有goto? j
JS基礎學習3
++ pytho cat 代碼塊 return語句 控制語句 其他 實現 選擇 1.控制語句 (1)if控制語句 if-else基本格式 if (表達式){ 語句1; ...... }else{ 語句2; ..... } 功能說明 如果表達式的值為true則執行語句1,
linux基礎部分1
相對路徑 logs file 目錄 當前 sta blog cp命令 內容 1.date查看系統時間,修改時間date月日時間年, 2.清楚屏幕,用Ctrl+L清除,或者用clear, 3..查看系統用戶,用who命令 4.創建新用戶James,創建密碼 ,
html基礎(3)
子文件夾 pre 相對 絕對路徑 不同 無聊 路徑和 img .cn 美好的星期六,今天多寫一點,爭取早點寫js這個有點小無聊。 一、先來講點網頁之間的跳轉 (1)、<a href=""></a> href="這裏寫要跳轉的網頁的地址";
linux基礎知識3
linux基礎知識3date:時間管理Linux: rtc(ntp:網絡時間協議) 硬件時鐘(hwclock clock命令) 系統時鐘(data 命令)獲得命令的使用幫助: 內部命令:help COMMAND cd 外部命令:COMMAND --help ls 操作系統的命令通常
編程算法基礎-2.3進制轉換
split -c val character -s 割點 12px 轉換 isdigit 2.3進制轉換 使用int存一個整數時。內存中是用二進制存儲的,當要顯示的時候。用十進制顯示。 隨意進制間的轉換 n進制轉m進制 String s = “2001201102” 3
Java基礎部分回顧(為自己)
.cn logs -1 繼續 分享 9.png 沒有 理解 開始 最近,學到集合框架。感覺有些蒙圈兒。知道這一塊很重要很重要,不敢疏忽。自學遇到的攔路虎,想著是不是前面的基礎知道還沒有夯實,對一些概念沒有真正的理解到位呢?!所以,停下來。開始找一些視頻,做一下回顧。 再次鞏