項目編程語言基礎(chǔ)_第1頁
項目編程語言基礎(chǔ)_第2頁
項目編程語言基礎(chǔ)_第3頁
項目編程語言基礎(chǔ)_第4頁
項目編程語言基礎(chǔ)_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

ActionScript3.0基礎(chǔ)第一頁,共六十六頁。ActionScript3.0概述

ActionScript3.0是針對FlashPlayer運行是環(huán)境的編程語言,它用于處理各種人機交互、數(shù)據(jù)交互等功能。面向?qū)ο缶幊谈攀?/p>

ActionScript3.0是為面向?qū)ο蠖鴾蕚涞囊婚T腳本語言。下面將簡單介紹一下面向?qū)ο竺婢幊痰幕靖拍?。第二頁,共六十六頁。面向?qū)ο缶幊蹋⑽臑镺bjectOrientedProgramming,簡寫為OOP,意思為面向?qū)ο缶幊淘O(shè)計,它是一種計算機變編程架構(gòu)。程序(program)是為實現(xiàn)特定目標或者解決特定問題而用計算機語言編寫的命令序列的集合。它可以是一些高級程序語言開發(fā)出來的可以運行的可執(zhí)行文件,也可以是一些應(yīng)用軟件制作出的可執(zhí)行文件,比如Flash編譯之后的SWF文件。第三頁,共六十六頁。編程:是指為了實現(xiàn)某種目的或需求,使用各種不同的程序語言進行設(shè)計,編寫能夠?qū)崿F(xiàn)這些需求的可執(zhí)行文件。FlashCS3的動作面板介紹第四頁,共六十六頁。A:腳本窗口,用于輸入代碼的地方B:面板菜單,單擊后可顯示動作面板菜單功能下面對圖中各部分的名稱及作用加以說明C:動作工具箱,可以通過雙擊或者拖動的方式將其中的ActionScript元素添加到腳本窗格中。D:腳本導(dǎo)航器第五頁,共六十六頁。第六頁,共六十六頁。第七頁,共六十六頁。第八頁,共六十六頁。第九頁,共六十六頁。任務(wù)2AS3.0編程語言基礎(chǔ)語法、數(shù)據(jù)、變量、運算符和語句構(gòu)成了編程語言的基礎(chǔ)。本章將通過大量的測試代碼。詳細的介紹ActionScript3.0中的語法、數(shù)據(jù)類型,變量以及運算符。通過本章的學(xué)習(xí),為以后的面向?qū)ο缶幊虒⒋蛳乱粋€堅實的基礎(chǔ)。第十頁,共六十六頁。2.1AS3.0語法任何一門編程語言在編寫代碼時都必須遵循一定的規(guī)則,這個規(guī)則就是語法。本節(jié)將著重介紹從ActionScript2.0開始使用的點語法和區(qū)分大小寫,了解編程常用的標點符號的使用,以及程序注釋的使用方法。第十一頁,共六十六頁。2.1.1點語法Flash中使用點(.)運算符來訪問對象的屬性和方法,點運算符主要用于下面的幾個方面。1.可以采用對象后面跟點運算符的屬性(方法)名稱來引用對象的屬性(方法)。2.可以采用點運算符表示包路徑。3.可以使用點運算符描述顯示對象的路徑。第十二頁,共六十六頁。2.1.2標點符號使用在Flash中有多種標點符號都很常用,分別為:分號(;)、逗號(,)、冒號(:)、小括號(())、中括號([])和大括號({})。這些標點符號在Flash中都有各自不同的作用,可以幫助定義數(shù)據(jù)類型,終止語句或者構(gòu)建ActionScript代碼塊。1.分號(;):ActionScript語句用分號(;)字符表示語句結(jié)束。第十三頁,共六十六頁。2.逗號(,):逗號的作用主要用于分割參數(shù),比如函數(shù)的參數(shù),方法的參數(shù)等等。3.冒號(:):冒號的作用主要用于為變量指定數(shù)據(jù)類型。要為一個變量指明數(shù)據(jù)類型,需要使用var關(guān)鍵字和后冒號法為其指定。4.小括號(()):小括號在ActionScript3.0中有三種用途。第十四頁,共六十六頁。首先,在數(shù)學(xué)運算方面,可以用來改變表達式的運算順序。小括號內(nèi)的數(shù)學(xué)表達式優(yōu)先運算。其次,在表達式運算方面,可以結(jié)合使用小括號和逗號運算符,來優(yōu)先計算一系列表達式的結(jié)果并返回最后一個表達式的結(jié)果。5.中括號([]):中括號主要用于數(shù)組的定義和訪問。第十五頁,共六十六頁。6.大括號({}):大括號主要用于編程語言程序控制,函數(shù)和類中。在構(gòu)成控制結(jié)構(gòu)的每個語句前后添加大括號(例如if..else或for),即使該控制結(jié)構(gòu)只包含一個語句。第十六頁,共六十六頁。2.1.3注釋注釋是使用一些簡單易懂的語言對代碼進行簡單的解釋的方法。注釋語句在編譯過程中并不會進行求值運算??梢杂米⑨寔砻枋龃a的作用,或者返回到文檔中的數(shù)據(jù)。注釋也可以幫助記憶編程的原理,并有助于其他人的閱讀。若代碼中有些內(nèi)容閱讀起來含義大不明顯,應(yīng)該對其添加注釋。第十七頁,共六十六頁。ActionScript3.0中的注釋語句有兩種:單行注釋和多行注釋。單行注釋以兩個單斜杠(//)開始,之后的該行內(nèi)容均為注釋。比如下面的代碼:trace("1234")//輸出:1234第十八頁,共六十六頁。2.1.4關(guān)鍵字和保留字保留字,從字面上就很容易知道這是保留給ActionScript3.0語言使用的英文單詞。因而不能使用這些單詞作為變量、實例、類名稱等。如果在代碼中使用了這些單詞,編譯器會報錯。第十九頁,共六十六頁。ActionScript3.0中的保留字分為3類:詞匯關(guān)鍵字、語法關(guān)鍵字和供將來使用的保留字。1.詞匯關(guān)鍵字2.句法關(guān)鍵字3.供將來使用的保留字。第二十頁,共六十六頁。2.2變量和常量變量和常量,都是為了儲存數(shù)據(jù)而創(chuàng)建的。變量和常量就像是一個容器,用于容納各種不同類型的數(shù)據(jù)。當然對變量進行操作,變量的數(shù)據(jù)就會發(fā)生改變,而常量則不會。變量必須要先聲明后使用,否則編譯器就會報錯。道理很簡單,比如現(xiàn)在要去喝水,那么你首先要有一個杯子,否則怎么樣去裝水呢?要聲明變量的原因與此相同。第二十一頁,共六十六頁。2.2.1聲明變量的語法在ActionScript3.0中,使用var關(guān)鍵字來聲明變量。格式如下所示。var變量名:數(shù)據(jù)類型;var變量名:數(shù)據(jù)類型=值;變量名加冒號加數(shù)據(jù)類型就是聲明的變量的基本格式。要聲明一個初始值,需要加上一個等號并在其后輸入響應(yīng)的值。但值的類型必須要和前面的數(shù)據(jù)類型一致。第二十二頁,共六十六頁。它不能是關(guān)鍵字或動作腳本文本,例如true、false、null或undefined。特別不能使用ActionScript的保留字,否則編譯器會報錯。它在其范圍內(nèi)必須是惟一的,不能重復(fù)定義變量。第二十三頁,共六十六頁。2.2.2變量的命名規(guī)則變量的命名既是任意的,又是有規(guī)則,有目的的。隨手牽來、雜亂無章的命名在Flash里面容易引起代碼的混亂,也不容易進行維護操作。變量的命名首先要遵循下面的幾條原則:第二十四頁,共六十六頁。它必須是一個標識符。它的第一個字符必須是字母、下劃線(_)或美元記號($)。其后的字符必須是字母、數(shù)字、下劃線或美元記號。注意:不能使用數(shù)字作為變量名稱的第一個字母。第二十五頁,共六十六頁。2.2.3變量的作用域變量的作用域指可以使用或者引用該變量的范圍,通常變量按照其作用域的不同可以分為全局變量和局部變量。全局變量指在函數(shù)或者類之外定義的變量,而在類或者函數(shù)之內(nèi)定義的變量為局部變量。第二十六頁,共六十六頁。全局變量在代碼的任何地方都可以訪問,所以在函數(shù)之外聲明的變量同樣可以訪問,如下面的代碼,函數(shù)Test()外聲明的變量i在函數(shù)體內(nèi)同樣可以訪問。vari:int=1;//定義Test函數(shù)functionTest(){trace(i);}Test()//輸出:1第二十七頁,共六十六頁。2.2.4變量的默認值變量的默認值是指變量在沒有賦值之前的值。對于ActionScript3.0的數(shù)據(jù)類型來說,都有各自的默認值,下面使用代碼來測試一下:通過上面的代碼輸出,已經(jīng)可以得到這些數(shù)據(jù)類型變量的默認值,分別為:第二十八頁,共六十六頁。Boolean型變量的默認值是:false。int型變量的默認值是:0。Number型變量的默認值是:NaN。Object型變量的默認值是:null。String型變量的默認值是:null。uint型變量的默認值是:0。*型變量的默認值是:undefined。第二十九頁,共六十六頁。2.2.5使用const聲明常量ActionScript3.0中增加了一個const關(guān)鍵字,用于聲明常量。常量是指具有無法改變的固定值的屬性。比如Math.PI就是一個常量。常量可以看做一種特殊的變量,不過這種變量不能賦值,不能更改而已。第三十頁,共六十六頁。使用用const聲明常量的語法格式和var聲明的變量的格式一樣:const常量名:數(shù)據(jù)類型;const常量名:數(shù)據(jù)類型=值;下面聲明常量的代碼:constg:Number=9.8;第三十一頁,共六十六頁。2.3基礎(chǔ)數(shù)據(jù)類型和其它的面向?qū)ο蟮木幊痰臄?shù)據(jù)類型一樣,ActionScript3.0的數(shù)據(jù)類型同樣分為兩種,具體劃分方式如下所示?;蛿?shù)據(jù)類型:Boolean、int、Number、String和uint。復(fù)雜型數(shù)據(jù)類型:Array、Date、Error、Function、RegExp、XML和XMLList。一般來說,基元值的處理速度通常比復(fù)雜值的處理速度要快。第三十二頁,共六十六頁。基元型數(shù)據(jù)和復(fù)雜型數(shù)據(jù)類型的最大的區(qū)別是:基元型是值對類型數(shù)據(jù),而復(fù)雜型是引用類型數(shù)據(jù)。值對類型直接儲存數(shù)據(jù),使用它為另一個的變量賦值之后,若另一個變量改變,并不影響原變量的值。引用類型指向要操作的對象,另一個變量引用這個變量之后,若另一變量發(fā)生改變,原有的變量跟著也要發(fā)生改變。第三十三頁,共六十六頁。基元型數(shù)據(jù)類型都是值對類型數(shù)據(jù),復(fù)雜型數(shù)據(jù)都是引用類型數(shù)據(jù)。另外,最明顯的一個區(qū)別是,如果數(shù)據(jù)類型能夠使用new關(guān)鍵字創(chuàng)建,那么它一定是引用型數(shù)據(jù)變量。第三十四頁,共六十六頁。2.3.1基礎(chǔ)數(shù)據(jù)類型說明本節(jié)通過大量的測試代碼,來說明各種不同的數(shù)據(jù)類型的用法和使用中的注意事項。1.Boolean數(shù)據(jù)類型2.數(shù)字:int、uint和Number3.String數(shù)據(jù)類型4.Array數(shù)組類型5.Object數(shù)據(jù)類型6.Object數(shù)據(jù)類型第三十五頁,共六十六頁。2.3.2數(shù)據(jù)類型檢查任何編程代碼在執(zhí)行前或者執(zhí)行時都要執(zhí)行數(shù)據(jù)類型的檢查,以避免出現(xiàn)數(shù)據(jù)錯誤。ActionScript3.0是動態(tài)類型的語言,它默認的是執(zhí)行時進行數(shù)據(jù)類型檢查。同時它也在適合使用“嚴格模式”的編譯器在編譯時執(zhí)行數(shù)據(jù)類型檢查。在使用嚴格模式的編譯器中,數(shù)據(jù)類型檢查既可以在執(zhí)行前執(zhí)行編譯器檢查,也可以在運行時執(zhí)行運行時檢查。在標準模式下,只支持默認的執(zhí)行時數(shù)據(jù)類型檢查。第三十六頁,共六十六頁。比如說在程序編寫過程中,要明確傳遞變量值的類型和接受參數(shù)類型相同。比如下面的代碼:functionfunc(mystr:String){trace(mystr);}varstr:String="welcomeyou";func(str);第三十七頁,共六十六頁。2.3.3隱式數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換是指把某個值轉(zhuǎn)換為其它類型的數(shù)據(jù)。類型的轉(zhuǎn)換有兩種方式:隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。隱式轉(zhuǎn)換又稱為強制轉(zhuǎn)換,由FlashPlayer在運行時執(zhí)行。比如將2賦值給Boolean數(shù)據(jù)類型的變量,則FlashPlayer會先將2轉(zhuǎn)換為布爾值true,然后再將其賦值給該變量。第三十八頁,共六十六頁。隱式轉(zhuǎn)換可以稱為自動轉(zhuǎn)換,是在程序編譯的過程中由程序本身來進行數(shù)據(jù)類型的轉(zhuǎn)換。它主要發(fā)生在許多上下文中。主要分為以下幾種情況:

在賦值語句中。在將值作為函數(shù)的參數(shù)傳遞時。在從函數(shù)中返回值時。在使用某些運算符(如加法運算符(+))的表達式中。第三十九頁,共六十六頁。2.3.4顯式數(shù)據(jù)類型轉(zhuǎn)換顯式轉(zhuǎn)換是指代碼若指示編譯器將一個數(shù)據(jù)類型的變量視為屬于另一個類型的變量時執(zhí)行該轉(zhuǎn)換。該轉(zhuǎn)換主要利用數(shù)據(jù)類型的對象名稱來轉(zhuǎn)換。常用的數(shù)據(jù)轉(zhuǎn)換均為此方式。顯示轉(zhuǎn)換是利用數(shù)據(jù)類型的對象名稱來轉(zhuǎn)換,常見的主要有下面的幾種。第四十頁,共六十六頁。1.轉(zhuǎn)換為int、uint和Number2.轉(zhuǎn)換為Boolean3.轉(zhuǎn)換為String第四十一頁,共六十六頁。2.3.5無類型說明符ActionScript3.0引入了三種特殊類型的無類型說明符:*,void和null。使用*類型用于指定屬性是無類型的。使用*作為類型注釋與不使用類型注釋等效。從無類型屬性中讀取的表達式可視為無類型表達式。該說明符主要用于兩個方面:將數(shù)據(jù)類型檢查延緩到運行時和將undefined存儲在屬性中。第四十二頁,共六十六頁。void用于說明定函數(shù)無法返回任何值。void類型只有一個值:undefined。該說明符僅用于聲明函數(shù)的返回類型。null是一個沒有值的特殊數(shù)據(jù)類型。Null數(shù)據(jù)類型只有一個值:null。Null數(shù)據(jù)類型的不與任何類相關(guān)聯(lián)。不可將Null數(shù)據(jù)類型用作屬性的類型注釋。第四十三頁,共六十六頁。2.4運算符與表達式學(xué)習(xí)一門編程語言,首先要弄清楚的就是如何對其中的數(shù)據(jù)進行運算。使用表達式來表達想要達到的效果,使用運算符來進行相關(guān)的運算,這就是數(shù)據(jù)運算的關(guān)鍵。本節(jié)主要介紹常用的運算符的用法。第四十四頁,共六十六頁。2.4.1運算符和表達式基礎(chǔ)知識運算符是可以通過給出的一個或者多個值來產(chǎn)生另一個值的東西。可以說它是一種特殊的函數(shù)。其中的值稱為“操作數(shù)”,具體包括字面值、變量和表達式。第四十五頁,共六十六頁。運算符分為三種:一元運算符、二元運算符、三元運算符。一元運算符只運算一個值,例如遞增運算符++;二元運算符比較常見,ActionScript3.0中大部分運算符都是二元運算符;三元運算符具有三個操作數(shù),例如條件運算符(?:)具有3個操作數(shù)。第四十六頁,共六十六頁。2.4.2賦值運算符賦值運算符有兩個操作數(shù),它根據(jù)一個操作數(shù)的值對另一個操作數(shù)進行賦值操作。ActionScript中的賦值運算有12個,第四十七頁,共六十六頁。運算符執(zhí)行的運算=賦值*=乘法賦值/=除法賦值%=求模賦值+=加法賦值-=減法賦值<<=按位向左移位賦值>>=按位向右移位賦值>>>=按位無符號向右移位賦值&=按位"與"賦值^=按位"異或"賦值|=按位"或"賦值第四十八頁,共六十六頁。2.4.3算術(shù)運算符算術(shù)運算符共有6個,分別為:加、減、乘、除、模運算和求反運算。加、減、乘、除的運算很簡單,請看下面的代碼示例:vara:int=1;varb:int=2;varc:int=a+b;vard:int=a-b;vare:int=a*b;varf:int=a/b;第四十九頁,共六十六頁。2.4.4算術(shù)賦值運算符算術(shù)賦值運算符和算術(shù)運算符對應(yīng),共有5個,分別為+=、-=、*=、/=和%=。和賦值運算符一樣,運算符的左邊只能是變量。右側(cè)是一個要值、變量或表達式。這種類型的賦值運算符有時也叫做自賦值運算符,就是利用自己進行運算并賦值給自己。比如下面的代碼語句:a+=1;第五十頁,共六十六頁。2.4.5關(guān)系運算符關(guān)系運算符用于比較兩個操作數(shù)的值的大小關(guān)系。常見的關(guān)系運算符一般分為兩類:一類用于判斷大小關(guān)系,一類用于判斷相等關(guān)系。其具體情況如下:其要表達的運算過程就是下面的的代碼要執(zhí)行的運算過程。a=a+1;第五十一頁,共六十六頁。判斷大小關(guān)系:>大于運算符、<小于運算符、>=大于等于運算符、<=小于等于運算符。判斷相等關(guān)系:==等于運算符、!=不等于運算符、===嚴格等于運算符、!==嚴格不等于運算符。關(guān)系運算符左右兩側(cè)可以是數(shù)值、變量或者表達式。關(guān)系表達式的結(jié)果是Boolean值,flase或者true。1.判斷大小關(guān)系的運算符2.判斷相等關(guān)系的運算符:第五十二頁,共六十六頁。2.4.6邏輯運算符邏輯運算符有3個,分別為:&&邏輯“與”運算符、||邏輯“或”運算符和!邏輯“非”運算符。邏輯運算符常用于邏輯運算,運算的結(jié)果為Boolean型。邏輯與(&&)和邏輯或(||)運算表達式要求左右兩側(cè)的表達式或者變量必須是Boolean型的值。第五十三頁,共六十六頁。&&:左右兩側(cè)有一個為flase,結(jié)果都為flase;只有兩側(cè)都為true,結(jié)果才為true。||:左右兩側(cè)有一個為true,結(jié)果都為true;只有兩側(cè)都為false,結(jié)果才為false。第五十四頁,共六十六頁。2.4.7按位和按位賦值運算符按位運算符共有6個,分別為:&按位“與”、^按位“異或”、|按位“或”、<<按位左移位、>>按位右移位、>>>按位無符號移位。同樣,按位賦值運算符也有6個,對照按位運算符分別為:&=按位“與”賦值、^=按位“異或”賦值、|=按位“或”賦值、<<=按位左移位賦值、>>=按位右移位賦值、>>>=按位無符號移位賦值。第五十五頁,共六十六頁。按位操作需要把十進制的整數(shù),轉(zhuǎn)換為二進制的數(shù),然后進行操作。按位與操作過程:按位與操作的規(guī)則為:1+1=1,1+0=0,0+1=0,0+0=0。比如11&34,11轉(zhuǎn)二進制數(shù)為001011,34轉(zhuǎn)二進制數(shù)為100010?,F(xiàn)在按照位置從右向左第一位分別為1和0,所以取與后仍為0,依次取與的最后結(jié)果為000010。000010轉(zhuǎn)為十進制數(shù)為2,所以最后的輸出結(jié)果為2。代碼如下所示。第五十六頁,共六十六頁。vara:int=11;varb:int=34;trace(a&b);//輸出為:2第五十七頁,共六十六頁。2.4.8遞加遞減運算符++遞加運算符和—遞減運算符常用于循環(huán)計算過程中,對循環(huán)中的變量進行遞加或者遞減操作。比如i++,它等價于i=i+1。第五十八頁,共六十六頁。測試代碼如下:vari:int=0i++trace(i)//輸出:1同樣,i—等價于i=i-1。測試代碼如下:vari:int=5;i--;trace(i);//輸出:4第五十九頁,共六十六頁。2.4.9三元條件運算符?:運算符是唯一的一個三元運算符,也就是說,這個運算符有三個操作數(shù)。具體的語法格式如下:(條件表達式)?(表達式1):(表達式2)第六十頁,共六十六頁。格式說明如下:條件表達式:判斷表達式,通過邏輯判斷,得到一個Boolean型的結(jié)果。表達式1:判斷表達式的結(jié)果為true,執(zhí)行該語句。表達式2:判斷表達式的結(jié)果為false,執(zhí)行該語句。第六十一頁,共六十六頁。2.4.10其它運算符在ActionScript3.0中還有幾個常見的運算符,如:typeof、is、as。下面對這幾個運算符進行簡單的說明:1.typeof運算符:typeof用于測試對象的的類型,使用的方法如下:typeof(對象);第六十二頁,共六十六頁。2.is運算符:is運算符用于判斷一個對象是不是屬于一種數(shù)據(jù)類型,返回Boolean

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論