ActionScript 3.0 的優點
ActionScript 3.0 的腳本編寫功能超越了 ActionScript 的早期版本。它旨在方便創建擁有大型數據集和面向對象的可重用代碼庫的高度復雜應用程序。雖然 ActionScript 3.0 對于在Adobe Flash Player 9 中運行的內容并不是必需的,但它使用新型的虛擬機 AVM2 實現了性能的改善。ActionScript 3.0 代碼的執行速度可以比舊式 ActionScript 代碼快 10 倍。舊版本的 ActionScript 虛擬機 AVM1 執行 ActionScript 1.0 和 ActionScript 2.0 代碼。為了向后兼容現有內容和舊內容, Flash Player 9 支持 AVM1
ActionScript 3.0 中的新增功能
雖然 ActionScript 3.0 包含 ActionScript 編程人員所熟悉的許多類和功能,但ActionScript 3.0 在架構和概念上是區別于早期的 ActionScript 版本的。ActionScript 3.0中的改進部分包括新增的核心語言功能,以及能夠更好地控制低級對象的改進 Flash PlayerAPI。
核心語言功能
核心語言定義編程語言的基本構造塊,例如語句、表達式、條件、循環和類型。
ActionScript 3.0 包含許多加速開發過程的新功能。
運行時異常
ActionScript 3.0 報告的錯誤情形比早期的 ActionScript 版本多。運行時異常用于常見的錯誤情形,可改善調試體驗并使您能夠開發可以可靠地處理錯誤的應用程序。運行時錯誤可提供帶有源文件和行號信息注釋的堆棧跟蹤,以幫助您快速定位錯誤。
運行時類型
在 ActionScript 2.0 中,類型注釋主要是為開發人員提供幫助;在運行時,所有值的類型都是動態指定的。在 ActionScript 3.0 中,類型信息在運行時保留,并可用于多種目的。FlashPlayer 9 執行運行時類型檢查,增強了系統的類型安全性。類型信息還可用于以本機形式表示變量,從而提高了性能并減少了內存使用量。
密封類
ActionScript 3.0 引入了密封類的概念。密封類只能擁有在編譯時定義的固定的一組屬性和方法;不能添加其它屬性和方法。這使得編譯時的檢查更為嚴格,從而導致程序更可靠。由于不要求每個對象實例都有一個內部哈希表,因此還提高了內存的使用率。還可以通過使用dynamic 關鍵字來實現動態類。默認情況下,ActionScript 3.0 中的所有類都是密封的,但可以使用 dynamic 關鍵字將其聲明為動態類。
閉包方法
ActionScript 3.0 使閉包方法可以自動記起它的原始對象實例。此功能對于事件處理非常有用。在 ActionScript 2.0 中,閉包方法無法記起它是從哪個對象實例提取的,所以在調用閉包方法時將導致意外的行為。mx.utils.Delegate 類是一種常用的解決方法,但已不再需要。
ECMAScript for XML (E4X)
ActionScript 3.0 實現了 ECMAScript for XML (E4X),后者最近被標準化為 ECMA-357。E4X 提供一組用于操作 XML 的自然流暢的語言構造。與傳統的 XML 分析 API 不同,使用 E4X 的 XML 就像該語言的本機數據類型一樣執行。E4X 通過大大減少所需代碼的數量來簡化操作 XML 的應用程序的開發。
正則表達式
ActionScript 3.0 包括對正則表達式的固有支持,因此您可以快速搜索并操作字符串。由于在 ECMAScript (ECMA-262) 第 3 版語言規范中對正則表達式進行了定義,因此 ActionScript 3.0 實現了對正則表達式的支持。
命名空間
命名空間與用于控制聲明(public、private、protected)的可見性的傳統訪問說明符類似。它們的工作方式與名稱由您指定的自定義訪問說明符類似。命名空間使用統一資源標識符 (URI) 以避免沖突,而且在您使用 E4X 時還用于表示 XML 命名空間。
新基元類型
ActionScript 2.0 擁有單一數值類型 Number,它是一種雙精度浮點數。ActionScript 3.0包含 int 和 uint 類型。int 類型是一個帶符號的 32 位整數,它使 ActionScript 代碼可充分利用 CPU 的快速處理整數數學運算的能力。int 類型對使用整數的循環計數器和變量都非常有用。uint 類型是無符號的 32 位整數類型,可用于 RGB 顏色值、字節計數和其它方面。
posted on 2007-12-09 15:25
飛鳥 閱讀(784)
評論(1) 編輯 收藏 所屬分類:
新聞