Actionscript-教程3.0完全自學(xué)
《Actionscript-教程3.0完全自學(xué)》由會(huì)員分享,可在線閱讀,更多相關(guān)《Actionscript-教程3.0完全自學(xué)(498頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、,單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級(jí),,第三級(jí),,第四級(jí),,第五級(jí),,,,*,第,1,章,AcionScript 3.0,概述,ActionScript 3.0是針對(duì)Flash Player運(yùn)行時(shí)環(huán)境的編程語(yǔ)言,它用于處理各種人機(jī)交互、數(shù)據(jù)交互等功能。本章將粗略的介紹ActionScript語(yǔ)言的進(jìn)展歷史、新增特色、編程環(huán)境等內(nèi)容,以及第一個(gè)ActionScript3.0程序。,1.1,關(guān)于,ActionScript 3.0,ActionScript3.0是隨著Adobe Flash CS3和Flex 2.0的推出而同步推出的腳本編程語(yǔ)言。本節(jié)將對(duì)ActionScr
2、ipt3.0進(jìn)展簡(jiǎn)要的介紹,并通過(guò)一些具體的實(shí)例圖片,呈現(xiàn)了常見(jiàn)的ActionScript的應(yīng)用領(lǐng)域。,1.1.1 ActionScript 3.0,介紹,ActionScript3.0與ActionScript以前的版本有個(gè)本質(zhì)上的不同。它是一門(mén)功能強(qiáng)大、符合業(yè)界標(biāo)準(zhǔn)的一門(mén)面對(duì)對(duì)象的編程語(yǔ)言。它在Flash編程語(yǔ)言中有著里程碑的作用,是用來(lái)開(kāi)發(fā)富應(yīng)用程序〔RIA〕的重要語(yǔ)言。,,ActionScript 3.0在用于腳本撰寫(xiě)的國(guó)際標(biāo)準(zhǔn)化編程語(yǔ)言ECMAScript的根底之上,對(duì)該語(yǔ)言做了進(jìn)一步的改進(jìn),可為開(kāi)發(fā)人員供給用于豐富Internet應(yīng)用程序〔RIA〕的牢靠的編程模型。開(kāi)發(fā)人員可以獲
3、得卓越的性能并簡(jiǎn)化開(kāi)發(fā)過(guò)程,便于利用特殊簡(jiǎn)潔的應(yīng)用程序、大的數(shù)據(jù)集和面對(duì)對(duì)象的、可重復(fù)使用的根本代碼。ActionScript 3.0在Flash Player 9中新的ActionScript虛擬機(jī)〔AVM2〕內(nèi)執(zhí)行,可為下一代RIA帶來(lái)性能突破。,1.1.2 ActionScript 3.0,能做什么,最初在Flash中引入ActionScript,目的是為了實(shí)現(xiàn)對(duì)Flash影片的播放把握。而ActionScript進(jìn)展到今日,其已經(jīng)廣泛的應(yīng)用到了多個(gè)領(lǐng)域,能夠?qū)崿F(xiàn)豐富的應(yīng)用功能。,,ActionScript 3.0最根本的應(yīng)用與創(chuàng)作工具Adobe Flash CS3結(jié)合,創(chuàng)立各種不同的
4、應(yīng)用特效,實(shí)現(xiàn)豐富多彩的動(dòng)畫(huà)效果,使Flash創(chuàng)立的動(dòng)畫(huà)更加人性話,更具有彈性效果。這些根底應(yīng)用當(dāng)中,應(yīng)用最為廣泛的就是使用ActionScript腳本把握的彈性菜單。下面是一個(gè)彈性的效果,,1.2 ActionScript 3.0,的新特色,ActionScript 3.0包括二局部:核心語(yǔ)言和Flash Player API。核心語(yǔ)言用于定義編程語(yǔ)言的根本構(gòu)造, 比方聲明變量,創(chuàng)立表達(dá)式把握程序構(gòu)造和數(shù)據(jù)類(lèi)型等。Flash Player API是由一系列用于實(shí)現(xiàn)特定功能的flash player類(lèi)組成。,1.2.1,核心語(yǔ)言的新特色,ActionScript3.0核心語(yǔ)言與ECMAScr
5、ipt標(biāo)準(zhǔn)兼容,并和新改進(jìn)的一些功能區(qū)域進(jìn)展結(jié)合。下面是對(duì)一些其開(kāi)發(fā)者便利的地方和用法總結(jié)的一些新特點(diǎn):,,1.運(yùn)行時(shí)的特殊處理機(jī)制,,2.運(yùn)行時(shí)類(lèi)型,,3.密封類(lèi),,4.閉包方法,,5.E4X,,6.正則表達(dá)式,,7.命名空間,,8.新基元類(lèi)型,1.2.1 Flash Player API,新功能,Flash Player API為增加Flash Player容納ActionScript語(yǔ)言的力氣而引入的一組類(lèi)和功能。這種功能把ActionScript核心語(yǔ)言和Flash平臺(tái)之間建立了一座橋梁,大大提高了Flash應(yīng)用程序的力氣,并對(duì)核心語(yǔ)言起到了重要的補(bǔ)充作用。下面列出一些Flash P
6、layer API功能的新特點(diǎn):,,1.DOM3大事模型,,2.顯示列表API,1.3 Flash CS3,的動(dòng)作面板介紹,Flash CS3中可以使用動(dòng)作面板、“腳本窗口”或者外部編輯器的創(chuàng)作環(huán)境中田間ActionScript代碼。本節(jié)就來(lái)介紹一下Flash CS3的動(dòng)作面板窗口和Flash CS自帶的編輯器窗口,并將具體的介紹功能按鈕的作用。,1.3.1,動(dòng)作面板概述,假設(shè)要在Flash CS3中參與ActionScript代碼,可以直接使用動(dòng)作面板來(lái)輸入。,,要翻開(kāi)動(dòng)作面板,請(qǐng)執(zhí)行下面的操作:?jiǎn)螕簟敬翱趞【動(dòng)作】,或者按【F9】。,,翻開(kāi)后的動(dòng)作面板如以以下圖。,,下面對(duì)圖中各局部的名
7、稱(chēng)及作用加以說(shuō)明。,,A:腳本窗格,用于輸入代碼的地方。,,B:面板菜單,單擊后可顯示動(dòng)作面板功能菜單,,C:動(dòng)作工具箱,可以通過(guò)雙擊或者拖動(dòng)的方式將其中的ActionScript元素添加到腳本窗格中。,,D:腳本導(dǎo)航器,其有兩個(gè)功能,一是通過(guò)單擊其中的工程,可以將與該工程相關(guān)的代碼顯示在腳本窗口中,二是通過(guò)雙擊其中的工程,對(duì)該工程的代碼進(jìn)展固定操作。,1.3.2,腳本窗口概述,Action Script 3.0是很好的面對(duì)對(duì)象編程語(yǔ)言,同樣Flash CS3也供給了一個(gè)很不錯(cuò)的腳本編輯器,這就是Flash的腳本窗口。使用腳本窗口可以創(chuàng)立或者導(dǎo)入外部的腳本文件,這些文件可以是ActionScr
8、ipt、Flash Communication或Flash JavaScript文件。,1.3.3,動(dòng)作面板和腳本窗口的工具介紹,在動(dòng)作面板和腳本窗口的上側(cè)都有一排功能按鈕,利用這些功能按鈕可以很方面的進(jìn)展ActionScript代碼的輸入和編寫(xiě),下面對(duì)這些按鈕進(jìn)展具體的說(shuō)明。,,:將新工程添加到腳本中按鈕,該按鈕主要用于顯示語(yǔ)言元素,這些元素同時(shí)也會(huì)顯示在“動(dòng)作”工具箱中??梢岳盟鼇?lái)選擇要添加到腳本中的工程或者元素名稱(chēng)。,,:查找按鈕,主要用于查找并替換腳本中的文本。,,:插入目標(biāo)路徑按鈕〔僅限動(dòng)作面板〕,可以幫助為腳本中的某個(gè)動(dòng)作設(shè)置確定或相對(duì)目標(biāo)路徑。,,:語(yǔ)法檢查按鈕,用于檢查當(dāng)前腳
9、本中的語(yǔ)法錯(cuò)誤。,,:自動(dòng)套用格式按鈕,用來(lái)調(diào)整腳本的格式以實(shí)現(xiàn)正確的編碼語(yǔ)法和更好的可讀性。,,:顯示代碼提示按鈕:用于在關(guān)閉了自動(dòng)代碼提示時(shí),可使用此按鈕來(lái)顯示正在吃力的代碼行的代碼提示。,,:調(diào)試選項(xiàng)按鈕〔僅限動(dòng)作面板〕,用于設(shè)置和刪除斷點(diǎn),以便在調(diào)試時(shí)可以逐行執(zhí)行腳本中的每一行。,1.3.3,動(dòng)作面板和腳本窗口的工具介紹,:折疊成對(duì)大括號(hào)按鈕,用于對(duì)消逝在當(dāng)前包含插入點(diǎn)的成對(duì)大括號(hào)或小括號(hào)間的代碼進(jìn)展折疊。,,:折疊所選按鈕:用于折疊當(dāng)前所選的代碼塊。,,:開(kāi)放全部按鈕:用于開(kāi)放當(dāng)前腳本中全部折疊的代碼。,,:應(yīng)用塊注釋按鈕,用于將注釋標(biāo)記添加到所選代碼塊的開(kāi)頭和結(jié)尾。,,:應(yīng)用行注釋
10、按鈕,用于在插入點(diǎn)處或所選多行代碼中每一行的開(kāi)頭處添加單行注釋標(biāo)記。,,:刪除注釋按鈕,用于從當(dāng)前行或當(dāng)前選擇內(nèi)容的全部行中刪除注釋標(biāo)記。,,:顯示/隱蔽工具箱按鈕,用于顯示或隱蔽“動(dòng)作”工具箱。,,:腳本助手按鈕〔僅限動(dòng)作面板〕,其用于翻開(kāi)和關(guān)閉“腳本助手”模式。,,:幫助按鈕,用于顯示“腳本”窗格中所選 ActionScript 元素的參考信息。,,:面板菜單 〔僅限動(dòng)作面板〕,包含適用于動(dòng)作面板的命令和首選參數(shù)。,,,1.4 ActionScript 3.0,的首選參數(shù)設(shè)置,無(wú)論是在動(dòng)作面板還是腳本窗口中編輯ActionScript代碼,都可以通過(guò)設(shè)置首先參數(shù)來(lái)配置輸入的ActionS
11、cript代碼的格式。,,要設(shè)置ActionScript 3.0的首選參數(shù),需要先翻開(kāi)首選參數(shù)窗口。請(qǐng)執(zhí)行下面的操作:選擇【編輯】|【首選參數(shù)】,翻開(kāi)首選參數(shù)對(duì)話框,,,1. 工具提示樣式的代碼提示,,2.使用菜單樣式的代碼提示,1.5 面對(duì)對(duì)象編程概述,ActionScript 3.0是為面對(duì)對(duì)象編程而預(yù)備的一種腳本語(yǔ)言。本節(jié)將簡(jiǎn)潔介紹一下面對(duì)對(duì)象編程的根本概念。,,面對(duì)對(duì)象編程,英文為:Object Oriented Programming,簡(jiǎn)寫(xiě)為OOP,意思為面對(duì)對(duì)象程序設(shè)計(jì),它是一種計(jì)算機(jī)編程架構(gòu)。,,程序〔program〕是為實(shí)現(xiàn)特定目標(biāo)或者解決特定問(wèn)題而用計(jì)算機(jī)語(yǔ)言編寫(xiě)的命令序列
12、的集合。它可以是一些高級(jí)程序語(yǔ)言開(kāi)發(fā)出來(lái)的可以運(yùn)行的可執(zhí)行文件,也可以是一些應(yīng)用軟件制作出的可執(zhí)行文件,比方Flash編譯之后的SWF文件。,,編程是指為了實(shí)現(xiàn)某種目的或需求,使用各種不同的程序語(yǔ)言進(jìn)展設(shè)計(jì),編寫(xiě)能夠?qū)崿F(xiàn)這些需求的可執(zhí)行文件。,1.6 Flash CS3,的第一個(gè)“,Welcome You”,Flash CS3中有兩種寫(xiě)入ActionScript 3.0代碼的方法:,,一種是在時(shí)間軸的關(guān)鍵幀參與ActionScript代碼。,,另一種是在外部寫(xiě)出呢個(gè)單獨(dú)的ActionScript類(lèi)文件,然后在綁定或者導(dǎo)入到fla文件中來(lái)。,,ActionScript中的類(lèi)有三種用法:一是和F
13、lash中的庫(kù)元件進(jìn)展綁定;二是和fla文件綁定;三是使用import關(guān)鍵字導(dǎo)入類(lèi)。,,ActionScript3.0開(kāi)發(fā)的程序,推舉文檔與代碼分別,不推舉把代碼寫(xiě)在關(guān)鍵幀上。下面用兩種方法來(lái)開(kāi)頭第一個(gè)“Welcome You”程序。,,1.在關(guān)鍵幀上參與代碼,,2.利用文檔類(lèi)制造第一個(gè)“Welcome You”程序,第2章 AS3.0編程語(yǔ)言根底,語(yǔ)法、數(shù)據(jù)、變量、運(yùn)算符和語(yǔ)句構(gòu)成了編程語(yǔ)言的根底。本章將通過(guò)大量的測(cè)試代碼。具體的介紹ActionScript 3.0中的語(yǔ)法、數(shù)據(jù)類(lèi)型,變量以及運(yùn)算符。通過(guò)本章的學(xué)習(xí),為以后的面對(duì)對(duì)象編程將打下一個(gè)堅(jiān)實(shí)的根底。,2.1 AS3.0,語(yǔ)法,任
14、何一門(mén)編程語(yǔ)言在編寫(xiě)代碼時(shí)都必需遵循確定的規(guī)章,這個(gè)規(guī)章就是語(yǔ)法。本節(jié)將著重介紹從ActionScript 2.0開(kāi)頭使用的點(diǎn)語(yǔ)法和區(qū)分大小寫(xiě),了解編程常用的標(biāo)點(diǎn)符號(hào)的使用,以及程序注釋的使用方法。,2.1.1,點(diǎn)語(yǔ)法,Flash中使用點(diǎn)〔.〕運(yùn)算符來(lái)訪問(wèn)對(duì)象的屬性和方法,點(diǎn)運(yùn)算符主要用于下面的幾個(gè)方面。,,1.可以承受對(duì)象后面跟點(diǎn)運(yùn)算符的屬性名稱(chēng)〔方法〕名稱(chēng)來(lái)引用對(duì)象的屬性〔方法〕。,,2.可以承受點(diǎn)運(yùn)算符表示包路徑。,,3.可以使用點(diǎn)運(yùn)算符描述顯示對(duì)象的路徑。,2.1.2,標(biāo)點(diǎn)符號(hào)使用,在Flash中有多種標(biāo)點(diǎn)符號(hào)都很常用,分別為:分號(hào)〔;〕、逗號(hào)〔,〕、冒號(hào)〔:〕、小括號(hào)〔〕、中括號(hào)〔[
15、]〕和大括號(hào)〔{}〕。這些標(biāo)點(diǎn)符號(hào)在Flash中都有各自不同的作用,可以幫助定義數(shù)據(jù)類(lèi)型,終止語(yǔ)句或者構(gòu)建ActionScript代碼塊。,,1.分號(hào)〔;〕:ActionScript語(yǔ)句用分號(hào)(;)字符表示語(yǔ)句完畢。,,2.逗號(hào)〔,〕:逗號(hào)的作用主要用于分割參數(shù),比方函數(shù)的參數(shù),方法的參數(shù)等等。,,3.冒號(hào)〔:〕:冒號(hào)的作用主要用于為變量指定數(shù)據(jù)類(lèi)型。要為一個(gè)變量指明數(shù)據(jù)類(lèi)型,需要使用var關(guān)鍵字和后冒號(hào)法為其指定。,,4.小括號(hào)〔〕:小括號(hào)在ActionScript3.0中有三種用途。,,首先,在數(shù)學(xué)運(yùn)算方面,可以用來(lái)轉(zhuǎn)變表達(dá)式的運(yùn)算挨次。小括號(hào)內(nèi)的數(shù)學(xué)表達(dá)式優(yōu)先運(yùn)算。,,其次,在表達(dá)式運(yùn)算
16、方面,可以結(jié)合使用小括號(hào)和逗號(hào)運(yùn)算符,來(lái)優(yōu)先計(jì)算一系列表達(dá)式的結(jié)果并返回最終一個(gè)表達(dá)式的結(jié)果。,,5.中括號(hào)〔[]〕:中括號(hào)主要用于數(shù)組的定義和訪問(wèn),,,6.大括號(hào)〔{}〕:大括號(hào)主要用于編程語(yǔ)言程序把握,函數(shù)和類(lèi)中。,,在構(gòu)成把握構(gòu)造的每個(gè)語(yǔ)句前后添加大括號(hào)〔例如if..else 或for〕,即使該把握構(gòu)造只包含一個(gè)語(yǔ)句。,2.1.3,注釋,注釋是使用一些簡(jiǎn)潔易懂的語(yǔ)言對(duì)代碼進(jìn)展簡(jiǎn)潔的解釋的方法。注釋語(yǔ)句在編譯過(guò)程中并不會(huì)進(jìn)展求值運(yùn)算。可以用注釋來(lái)描述代碼的作用,或者返回到文檔中的數(shù)據(jù)。注釋也可以幫助記憶編程的原理,并有助于其他人的閱讀。假設(shè)代碼中有些內(nèi)容閱讀起來(lái)含義大不明顯,應(yīng)當(dāng)對(duì)其添加注
17、釋。,,ActionScript3.0中的注釋語(yǔ)句有兩種:?jiǎn)涡凶⑨尯投嘈凶⑨尅?,單行注釋以?xún)蓚€(gè)單斜杠〔//〕開(kāi)頭,之后的該行內(nèi)容均為注釋。比方下面的代碼:,,trace(“1234“)//輸出:1234,2.1.4 關(guān)鍵字和保存字,保存字,從字面上就很簡(jiǎn)潔知道這是保存給ActionScript 3.0語(yǔ)言使用的英文單詞。因而不能使用這些單詞作為變量、實(shí)例、類(lèi)名稱(chēng)等。假設(shè)在代碼中使用了這些單詞,編譯器會(huì)報(bào)錯(cuò)。,,ActionScript3.0中的保存字分為3類(lèi):詞匯關(guān)鍵字、語(yǔ)法關(guān)鍵字和供將來(lái)使用的保存字。,,1.詞匯關(guān)鍵字,,2.句法關(guān)鍵字,,3.供將來(lái)使用的保存字。,2.2,變量和常量,變
18、量和常量,都是為了儲(chǔ)存數(shù)據(jù)而創(chuàng)立的。變量和常量就像是一個(gè)容器,用于容納各種不同類(lèi)型的數(shù)據(jù)。固然對(duì)變量進(jìn)展操作,變量的數(shù)據(jù)就會(huì)發(fā)生轉(zhuǎn)變,而常量則不會(huì)。,,變量必需要先聲明后使用,否則編譯器就會(huì)報(bào)錯(cuò)。道理很簡(jiǎn)潔,比方現(xiàn)在要去喝水,那么你首先要有一個(gè)杯子,否則怎么樣去裝水呢?要聲明變量的緣由與此一樣。,2.2.1,聲明變量的語(yǔ)法,在ActionScript 3.0中,使用var關(guān)鍵字來(lái)聲明變量。格式如下所示。,,var 變量名:數(shù)據(jù)類(lèi)型;,,var 變量名:數(shù)據(jù)類(lèi)型=值;,,變量名加冒號(hào)加數(shù)據(jù)類(lèi)型就是聲明的變量的根本格式。要聲明一個(gè)初始值,需要加上一個(gè)等號(hào)并在其后輸入響應(yīng)的值。但值的類(lèi)型必需要和前面
19、的數(shù)據(jù)類(lèi)型全都。,2.2.2 變量的命名規(guī)章,變量的命名既是任意的,又是有規(guī)章,有目的的。順手牽來(lái)、雜亂無(wú)章的命名在Flash里面簡(jiǎn)潔引起代碼的混亂,也不簡(jiǎn)潔進(jìn)展維護(hù)操作。,,變量的命名首先要遵循下面的幾條原則:,,它必需是一個(gè)標(biāo)識(shí)符。它的第一個(gè)字符必需是字母、下劃線〔_〕或美元記號(hào)〔$〕。其后的字符必需是字母、數(shù)字、下劃線或美元記號(hào)。留意:不能使用數(shù)字作為變量名稱(chēng)的第一個(gè)字母。,,它不能是關(guān)鍵字或動(dòng)作腳本文本,例如true、false、null或undefined。特殊不能使用ActionScript的保存字,否則編譯器會(huì)報(bào)錯(cuò)。,,它在其范圍內(nèi)必需是惟一的,不能重復(fù)定義變量。,2.2.3,
20、變量的作用域,變量的作用域指可以使用或者引用該變量的范圍,通常變量依據(jù)其作用域的不同可以分為全局變量和局部變量。全局變量指在函數(shù)或者類(lèi)之外定義的變量,而在類(lèi)或者函數(shù)之內(nèi)定義的變量為局部變量。,,全局變量在代碼的任何地方都可以訪問(wèn),所以在函數(shù)之外聲明的變量同樣可以訪問(wèn),如下面的代碼,函數(shù)Test外聲明的變量i在函數(shù)體內(nèi)同樣可以訪問(wèn)。,,var i:int=1;,,//定義Test函數(shù),,function Test {,,trace(i);,,},,Test//輸出:1,2.2.4,變量的默認(rèn)值,變量的默認(rèn)值是指變量在沒(méi)有賦值之前的值。對(duì)于,ActionScript3.0,的數(shù)據(jù)類(lèi)型來(lái)說(shuō),都有各自
21、的默認(rèn)值,下面使用代碼來(lái)測(cè)試一下:,,通過(guò)上面的代碼輸出,已經(jīng)可以得到這些數(shù)據(jù)類(lèi)型變量的默認(rèn)值,分別為:,,Boolean,型變量的默認(rèn)值是:,false,。,,int,型變量的默認(rèn)值是:,0,。,,Number,型變量的默認(rèn)值是:,NaN,。,,Object,型變量的默認(rèn)值是:,null,。,,String,型變量的默認(rèn)值是:,null,。,,uint,型變量的默認(rèn)值是:,0,。,,*型變量的默認(rèn)值是:,undefined,。,2.2.5,使用,const,聲明常量,Action Script 3.0中增加了一個(gè)const關(guān)鍵字,用于聲明常量。常量是指具有無(wú)法轉(zhuǎn)變的固定值的屬性。比方Math
22、.PI就是一個(gè)常量。常量可以看做一種特殊的變量,不過(guò)這種變量不能賦值,不能更改而已。,,使用用const聲明常量的語(yǔ)法格式和var聲明的變量的格式一樣:,,const 常量名:數(shù)據(jù)類(lèi)型;,,const 常量名:數(shù)據(jù)類(lèi)型=值;,,下面聲明常量的代碼:,,const g:Number=9.8;,2.3 根底數(shù)據(jù)類(lèi)型,和其它的面對(duì)對(duì)象的編程的數(shù)據(jù)類(lèi)型一樣,ActionScript3.0的數(shù)據(jù)類(lèi)型同樣分為兩種,具體劃分方式如下所示。,,基元型數(shù)據(jù)類(lèi)型:Boolean、int、Number、String和uint。,,簡(jiǎn)潔型數(shù)據(jù)類(lèi)型:Array、Date、Error、Function、RegExp、X
23、ML和XMLList。,,一般來(lái)說(shuō),基元值的處理速度通常比簡(jiǎn)潔值的處理速度要快。,,基元型數(shù)據(jù)和簡(jiǎn)潔型數(shù)據(jù)類(lèi)型的最大的區(qū)分是:基元型是值對(duì)類(lèi)型數(shù)據(jù),而簡(jiǎn)潔型是引用類(lèi)型數(shù)據(jù)。值對(duì)類(lèi)型直接儲(chǔ)存數(shù)據(jù),使用它為另一個(gè)的變量賦值之后,假設(shè)另一個(gè)變量轉(zhuǎn)變,并不影響原變量的值。引用類(lèi)型指向要操作的對(duì)象,另一個(gè)變量引用這個(gè)變量之后,假設(shè)另一變量發(fā)生轉(zhuǎn)變,原有的變量跟著也要發(fā)生轉(zhuǎn)變。,,基元型數(shù)據(jù)類(lèi)型都是值對(duì)類(lèi)型數(shù)據(jù),簡(jiǎn)潔型數(shù)據(jù)都是引用類(lèi)型數(shù)據(jù)。,,另外,最明顯的一個(gè)區(qū)分是,假設(shè)數(shù)據(jù)類(lèi)型能夠使用new關(guān)鍵字創(chuàng)立,那么它確定是引用型數(shù)據(jù)變量。,2.3.1 根底數(shù)據(jù)類(lèi)型說(shuō)明,本節(jié)通過(guò)大量的測(cè)試代碼,來(lái)說(shuō)明各種不同
24、的數(shù)據(jù)類(lèi)型的用法和使用中的留意事項(xiàng)。,,1.Boolean 數(shù)據(jù)類(lèi)型,,2.?dāng)?shù)字:int、uint和Number,,3.String 數(shù)據(jù)類(lèi)型,,4.Array數(shù)組類(lèi)型,,5.Object數(shù)據(jù)類(lèi)型,,6.Object數(shù)據(jù)類(lèi)型,2.3.2,數(shù)據(jù)類(lèi)型檢查,任何編程代碼在執(zhí)行前或者執(zhí)行時(shí)都要執(zhí)行數(shù)據(jù)類(lèi)型的檢查,以避開(kāi)消逝數(shù)據(jù)錯(cuò)誤。ActionScript 3.0是動(dòng)態(tài)類(lèi)型的語(yǔ)言,它默認(rèn)的是執(zhí)行時(shí)進(jìn)展數(shù)據(jù)類(lèi)型檢查。同時(shí)它也在適合使用“嚴(yán)格模式”的編譯器在編譯時(shí)執(zhí)行數(shù)據(jù)類(lèi)型檢查。在使用嚴(yán)格模式的編譯器中,數(shù)據(jù)類(lèi)型檢查既可以在執(zhí)行前執(zhí)行編譯器檢查,也可以在運(yùn)行時(shí)執(zhí)行運(yùn)行時(shí)檢查。在標(biāo)準(zhǔn)模式下,只支持默認(rèn)的執(zhí)
25、行時(shí)數(shù)據(jù)類(lèi)型檢查。,,比方說(shuō)在程序編寫(xiě)過(guò)程中,要明確傳遞變量值的類(lèi)型和承受參數(shù)類(lèi)型一樣。比方下面的代碼:,,function func(mystr:String) {,,trace(mystr);,,},,var str:String=“welcome you“;,,func(str);,2.3.3,隱式數(shù)據(jù)類(lèi)型轉(zhuǎn)換,數(shù)據(jù)類(lèi)型轉(zhuǎn)換是指把某個(gè)值轉(zhuǎn)換為其它類(lèi)型的數(shù)據(jù)。類(lèi)型的轉(zhuǎn)換有兩種方式:隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。隱式轉(zhuǎn)換又稱(chēng)為強(qiáng)制轉(zhuǎn)換,由Flash Player在運(yùn)行時(shí)執(zhí)行。比方將2賦值給Boolean數(shù)據(jù)類(lèi)型的變量,則Flash Player會(huì)先將2轉(zhuǎn)換為布爾值true,然后再將其賦值給該變量。,,
26、隱式轉(zhuǎn)換可以稱(chēng)為自動(dòng)轉(zhuǎn)換,是在程序編譯的過(guò)程中由程序本身來(lái)進(jìn)展數(shù)據(jù)類(lèi)型的轉(zhuǎn)換。它主要發(fā)生在很多上下文中。主要分為以下幾種狀況:,,在賦值語(yǔ)句中。,,在將值作為函數(shù)的參數(shù)傳遞時(shí)。,,在從函數(shù)中返回值時(shí)。,,在使用某些運(yùn)算符〔如加法運(yùn)算符〔+〕〕的表達(dá)式中。,2.3.4,顯式數(shù)據(jù)類(lèi)型轉(zhuǎn)換,顯式轉(zhuǎn)換是指代碼假設(shè)指示編譯器將一個(gè)數(shù)據(jù)類(lèi)型的變量視為屬于另一個(gè)類(lèi)型的變量時(shí)執(zhí)行該轉(zhuǎn)換。該轉(zhuǎn)換主要利用數(shù)據(jù)類(lèi)型的對(duì)象名稱(chēng)來(lái)轉(zhuǎn)換。常用的數(shù)據(jù)轉(zhuǎn)換均為此方式。,,顯示轉(zhuǎn)換是利用數(shù)據(jù)類(lèi)型的對(duì)象名稱(chēng)來(lái)轉(zhuǎn)換,常見(jiàn)的主要有下面的幾種。,,1.轉(zhuǎn)換為 int、uint 和 Number,,2.轉(zhuǎn)換為Boolean,,3.轉(zhuǎn)換為
27、 String,2.3.5,無(wú)類(lèi)型說(shuō)明符,ActionScript 3.0引入了三種特殊類(lèi)型的無(wú)類(lèi)型說(shuō)明符:*,void和null。,,使用*類(lèi)型用于指定屬性是無(wú)類(lèi)型的。使用*作為類(lèi)型注釋與不使用類(lèi)型注釋等效。從無(wú)類(lèi)型屬性中讀取的表達(dá)式可視為無(wú)類(lèi)型表達(dá)式。該說(shuō)明符主要用于兩個(gè)方面:將數(shù)據(jù)類(lèi)型檢查延緩到運(yùn)行時(shí)和將undefined存儲(chǔ)在屬性中。,,void用于說(shuō)明定函數(shù)無(wú)法返回任何值。void類(lèi)型只有一個(gè)值:undefined。該說(shuō)明符僅用于聲明函數(shù)的返回類(lèi)型。,,null是一個(gè)沒(méi)有值的特殊數(shù)據(jù)類(lèi)型。Null數(shù)據(jù)類(lèi)型只有一個(gè)值:null。Null數(shù)據(jù)類(lèi)型的不與任何類(lèi)相關(guān)聯(lián)。不行將Null數(shù)據(jù)類(lèi)型
28、用作屬性的類(lèi)型注釋。,2.4,運(yùn)算符與表達(dá)式,學(xué)習(xí)一門(mén)編程語(yǔ)言,首先要弄清晰的就是如何對(duì)其中的數(shù)據(jù)進(jìn)展運(yùn)算。使用表達(dá)式來(lái)表達(dá)想要到達(dá)的效果,使用運(yùn)算符來(lái)進(jìn)展相關(guān)的運(yùn)算,這就是數(shù)據(jù)運(yùn)算的關(guān)鍵。本節(jié)主要介紹常用的運(yùn)算符的用法。,2.4.1 運(yùn)算符和表達(dá)式根底學(xué)問(wèn),運(yùn)算符是可以通過(guò)給出的一個(gè)或者多個(gè)值來(lái)產(chǎn)生另一個(gè)值的東西??梢哉f(shuō)它是一種特殊的函數(shù)。其中的值稱(chēng)為“操作數(shù)”,具體包括字面值、變量和表達(dá)式。,,運(yùn)算符分為三種:一元運(yùn)算符、二元運(yùn)算符、三元運(yùn)算符。一元運(yùn)算符只運(yùn)算一個(gè)值,例如遞增運(yùn)算符++;二元運(yùn)算符比較常見(jiàn),ActionScript 3.0中大局部運(yùn)算符都是二元運(yùn)算符;三元運(yùn)算符具有三個(gè)
29、操作數(shù),例如條件運(yùn)算符〔?:〕具有3個(gè)操作數(shù)。,2.4.2,賦值運(yùn)算符,賦值運(yùn)算符有兩個(gè)操作數(shù),它依據(jù)一個(gè)操作數(shù)的值對(duì)另一個(gè)操作數(shù)進(jìn)展賦值操作。ActionScript中的賦值運(yùn)算有12個(gè),,,賦值運(yùn)算符,運(yùn)算符,執(zhí)行的運(yùn)算,=,賦值,*=,乘法賦值,/=,除法賦值,%=,求模賦值,+=,加法賦值,-=,減法賦值,<<=,按位向左移位賦值,>>=,按位向右移位賦值,>>>=,按位無(wú)符號(hào)向右移位賦值,&=,按位,",與,",賦值,^=,按位,",異或,",賦值,|=,按位,",或,",賦值,2.4.3,算術(shù)運(yùn)算符,算術(shù)運(yùn)算符共有6個(gè),分別為:加、減、乘、除、模運(yùn)算和求反運(yùn)算。,,加、減、乘、除的
30、運(yùn)算很簡(jiǎn)潔,請(qǐng)看下面的代碼例如:,,var a:int=1;,,var b:int=2;,,var c:int=a+b;,,var d:int=a-b;,,var e:int=a*b;,,var f:int=a/b;,2.4.4,算術(shù)賦值運(yùn)算符,算術(shù)賦值運(yùn)算符和算術(shù)運(yùn)算符對(duì)應(yīng),共有5個(gè),分別為+=、-=、*=、/=和%=。和賦值運(yùn)算符一樣,運(yùn)算符的左邊只能是變量。右側(cè)是一個(gè)要值、變量或表達(dá)式。,,這種類(lèi)型的賦值運(yùn)算符有時(shí)也叫做自賦值運(yùn)算符,就是利用自己進(jìn)展運(yùn)算并賦值給自己。比方下面的代碼語(yǔ)句:,,a+=1;,,其要表達(dá)的運(yùn)算過(guò)程就是下面的的代碼要執(zhí)行的運(yùn)算過(guò)程。,,a=a+1;,2.4.5,關(guān)
31、系運(yùn)算符,關(guān)系運(yùn)算符用于比較兩個(gè)操作數(shù)的值的大小關(guān)系。常見(jiàn)的關(guān)系運(yùn)算符一般分為兩類(lèi):一類(lèi)用于推斷大小關(guān)系,一類(lèi)用于推斷相等關(guān)系。其具體狀況如下:,,推斷大小關(guān)系:>大于運(yùn)算符、=大于等于運(yùn)算符、<=小于等于運(yùn)算符。,,推斷相等關(guān)系:==等于運(yùn)算符、!=不等于運(yùn)算符、===嚴(yán)格等于運(yùn)算符、!==嚴(yán)格不等于運(yùn)算符。,,關(guān)系運(yùn)算符左右兩側(cè)可以是數(shù)值、變量或者表達(dá)式。關(guān)系表達(dá)式的結(jié)果是Boolean值,flase或者true。,,1.推斷大小關(guān)系的運(yùn)算符,,2.推斷相等關(guān)系的運(yùn)算符:,2.4.6 規(guī)律運(yùn)算符,規(guī)律運(yùn)算符有3個(gè),分別為:&&規(guī)律“與”運(yùn)算符、||規(guī)律“或”運(yùn)算符和!規(guī)律“非”運(yùn)算符。規(guī)
32、律運(yùn)算符常用于規(guī)律運(yùn)算,運(yùn)算的結(jié)果為Boolean型。,,規(guī)律與〔&&〕和規(guī)律或〔||〕運(yùn)算表達(dá)式要求左右兩側(cè)的表達(dá)式或者變量必需是Boolean型的值。,,&&:左右兩側(cè)有一個(gè)為flase,結(jié)果都為flase;只有兩側(cè)都為true,結(jié)果才為true。,,||:左右兩側(cè)有一個(gè)為true,結(jié)果都為true;只有兩側(cè)都為false,結(jié)果才為false。,2.4.7,按位和按位賦值運(yùn)算符,按位運(yùn)算符共有6個(gè),分別為:&按位“與”、^按位“異或”、|按位“或”、>按位右移位、>>>按位無(wú)符號(hào)移位。同樣,按位賦值運(yùn)算符也有6個(gè),比照按位運(yùn)算符分別為:&=按位“與”賦值、^=按位“異或”賦值、|=按位“或
33、”賦值、>=按位右移位賦值、>>>=按位無(wú)符號(hào)移位賦值。,,按位操作需要把十進(jìn)制的整數(shù),轉(zhuǎn)換為二進(jìn)制的數(shù),然后進(jìn)展操作。,,按位與操作過(guò)程:按位與操作的規(guī)章為:1+1=1,1+0=0,0+1=0,0+0=0。比方11&34,11轉(zhuǎn)二進(jìn)制數(shù)為001011,34轉(zhuǎn)二進(jìn)制數(shù)為100010。現(xiàn)在依據(jù)位置從右向左第一位分別為1和0,所以取與后仍為0,依次取與的最終結(jié)果為000010。000010轉(zhuǎn)為十進(jìn)制數(shù)為2,所以最終的輸出結(jié)果為2。代碼如下所示。,,var a:int=11;,,var b:int=34;,,trace(a//輸出為:2,2.4.8,遞加遞減運(yùn)算符,++遞加運(yùn)算符和—遞減運(yùn)算符常用于
34、循環(huán)計(jì)算過(guò)程中,對(duì)循環(huán)中的變量進(jìn)展遞加或者遞減操作。比方i++,它等價(jià)于i=i+1。測(cè)試代碼如下:,,var i:int=0,,i++,,trace(i)//輸出:1,,同樣,i—等價(jià)于i=i-1。測(cè)試代碼如下:,,var i:int=5;,,i--;,,trace(i);//輸出:4,2.4.9,三元條件運(yùn)算符,?:運(yùn)算符是唯一的一個(gè)三元運(yùn)算符,也就是說(shuō),這個(gè)運(yùn)算符有三個(gè)操作數(shù)。具體的語(yǔ)法格式如下:,,(條件表達(dá)式)?〔表達(dá)式1〕:(表達(dá)式2),,格式說(shuō)明如下:,,條件表達(dá)式:推斷表達(dá)式,通過(guò)規(guī)律推斷,得到一個(gè)Boolean型的結(jié)果。,,表達(dá)式1:推斷表達(dá)式的結(jié)果為true,執(zhí)行該語(yǔ)句。,,
35、表達(dá)式2:推斷表達(dá)式的結(jié)果為false,執(zhí)行該語(yǔ)句。,2.4.10,其它運(yùn)算符,在ActionScript3.0中還有幾個(gè)常見(jiàn)的運(yùn)算符,如:typeof、is、as。下面對(duì)這幾個(gè)運(yùn)算符進(jìn)展簡(jiǎn)潔的說(shuō)明:,,1.typeof運(yùn)算符:typeof用于測(cè)試對(duì)象的的類(lèi)型,使用的方法如下:,,typeof(對(duì)象);,,2.is運(yùn)算符:is運(yùn)算符用于推斷一個(gè)對(duì)象是不是屬于一種數(shù)據(jù)類(lèi)型,返回Boolean型變量。假設(shè)對(duì)象屬于同一類(lèi)型,則返回true,否則返回false。,,3.a(chǎn)s運(yùn)算符:as運(yùn)算符和is運(yùn)算符的使用格式一樣,但是返回的值不同。假設(shè)對(duì)象的類(lèi)型一樣,返回對(duì)象的值;假設(shè)不同,則返回null。,2.
36、4.11,運(yùn)算符的優(yōu)先級(jí),運(yùn)算符的優(yōu)先級(jí)挨次預(yù)備了一個(gè)表達(dá)式運(yùn)算挨次。就像數(shù)學(xué)中的乘除運(yùn)算要優(yōu)于加減運(yùn)算一樣,ActionScript 3.0 中的各運(yùn)算符之間也有一個(gè)優(yōu)先運(yùn)算的挨次。具體請(qǐng)參照表所示。,運(yùn)算符優(yōu)先挨次表,組,運(yùn)算符,主要,[] {x:y} () f(x) new x.y x[y] @ :: ..,后綴,x++ x--,一元,++x --x + - ~ ! delete typeof void,乘法,* / %,加法,+ -,按位移位,> >>>,關(guān)系, = as in instanceof is,等于,== != === !==,按位,",與,",&,按位,",異或,",^
37、,按位,",或,",|,邏輯,",與,",&&,邏輯,",或,",||,條件,?:,賦值,= *= /= %= += -= >= >>>= &= ^= |=,逗號(hào),,,第,3,章,AS3.0,程序設(shè)計(jì),任何一門(mén)編程語(yǔ)言都要設(shè)計(jì)程序問(wèn)題,ActionScript 3.0也不例外。在本章中,將介紹ActionScript3.0系統(tǒng)的根本語(yǔ)句以及程序設(shè)計(jì)的一般過(guò)程。首先介紹一下程序把握的規(guī)律運(yùn)算,然后著重介紹條件語(yǔ)句和循環(huán)語(yǔ)句。,3.1 規(guī)律運(yùn)算,在程序設(shè)計(jì)的過(guò)程中,要實(shí)現(xiàn)程序設(shè)計(jì)的目的,必需進(jìn)展規(guī)律運(yùn)算。只有進(jìn)展規(guī)律運(yùn)算,才能把握程序不斷向最終要到達(dá)的目的前進(jìn),知道最終實(shí)現(xiàn)目標(biāo)。,,規(guī)律運(yùn)算又稱(chēng)
38、為布爾運(yùn)算,通常用來(lái)測(cè)試真假值。規(guī)律運(yùn)算主要使用條件表達(dá)式進(jìn)展推斷,假設(shè)符合條件,則返回結(jié)果true,不符合條件,返回結(jié)果false。,,條件表達(dá)式中最常見(jiàn)的形式就是利 用關(guān)系運(yùn)算符進(jìn)展操作數(shù)比較,進(jìn)而得到推斷條件。,,固然,有的狀況下需要把握的條件比較多,那么就需要使用規(guī)律表達(dá)式進(jìn)展規(guī)律運(yùn)算,得到一個(gè)的組合條件,并把握最終的輸出結(jié)果。,,常見(jiàn)的條件表達(dá)式舉例如下:,,〔a>0〕:表示推斷條件為a>0。假設(shè)是,返回true;否則返回false。,,〔a==b〕&&〔a>0〕:表示推斷條件為a大于0,并且a與b相等。假設(shè)是,返回true,否則返回false。,,〔a==b〕||〔a>0〕:表示推
39、斷條件為a大于0,或者a與b相等。假設(shè)是,返回true,否則返回false。,3.2 程序的三種構(gòu)造,在程序設(shè)計(jì)的過(guò)程中,假設(shè)把握程序,如何安排每句代碼執(zhí)行的先后次序,這個(gè)先后執(zhí)行的次序,稱(chēng)之為“構(gòu)造”。常見(jiàn)的程序構(gòu)造有三種:挨次構(gòu)造、選擇構(gòu)造和循環(huán)構(gòu)造。本節(jié)將逐個(gè)介紹一下這三種程序構(gòu)造的概念和流程。,3.2.1 挨次構(gòu)造,挨次構(gòu)造最簡(jiǎn)潔,就是依據(jù)代碼的挨次,一句一句的執(zhí)行操作,構(gòu)造如圖3-1所示。,,ActionScript代碼中的簡(jiǎn)潔語(yǔ)句都是依據(jù)挨次進(jìn)展處理,這就是挨次構(gòu)造。請(qǐng)看下面的例如代碼。,,//執(zhí)行的第一句代碼,初始化一個(gè)變量,,var a:int;,,//執(zhí)行其次句代碼,給變
40、量a賦值數(shù)值1,,a=1;,,//執(zhí)行第三句代碼,變量a執(zhí)行遞加操作,,a++;,3.2.2 選擇構(gòu)造,當(dāng)程序有多種可能的選擇時(shí),就要使用選擇構(gòu)造。選擇那一個(gè),要依據(jù)條件表達(dá)式的計(jì)算結(jié)果而定。構(gòu)造如以以下圖。,3.2.3 循環(huán)構(gòu)造,循環(huán)構(gòu)造就是屢次執(zhí)行同一組代碼,重復(fù)的次數(shù)由一個(gè)數(shù)值或條件來(lái)預(yù)備。構(gòu)造如以以下圖。,3.3 選擇程序構(gòu)造,選擇程序構(gòu)造就是利用不同的條件去執(zhí)行不同的語(yǔ)句或者代碼。ActionScript 3.0有三個(gè)可用來(lái)把握程序流的根本條件語(yǔ)句。其分別為if..else條件語(yǔ)句、if..else if條件語(yǔ)句、switch條件語(yǔ)句。本節(jié)將具體講解這三種不同的選擇程序構(gòu)造。,
41、3.3.1 if..else,條件語(yǔ)句,if..else條件語(yǔ)句推斷一個(gè)把握條件,假設(shè)該條件能夠成立,則執(zhí)行一個(gè)代碼塊,否則執(zhí)行另一個(gè)代碼塊。,,if..else條件語(yǔ)句根本格式如下:,,if(表達(dá)式){,,語(yǔ)句1,,},,else,,{,,語(yǔ)句2;,,},3.3.2 if..else if..else,語(yǔ)句,if..else,條件語(yǔ)句執(zhí)行的操作最多只有兩種選擇,要是有更多的選擇,那就可以使用,if..else if..else,條件語(yǔ)句。,3.3.3 Switch,語(yǔ)句,Switch語(yǔ)句相等于一系列的if..else if..語(yǔ)句,但是要比if語(yǔ)句要清晰的多。switch 語(yǔ)句不是對(duì)條
42、件進(jìn)展測(cè)試以獲得布爾值,而是對(duì)表達(dá)式進(jìn)展求值并使用計(jì)算結(jié)果來(lái)確定要執(zhí)行的代碼塊。,,Switch語(yǔ)句格式如下:,,switch (表達(dá)式) {,,case:,,程序語(yǔ)句1;,,break;,,case:,,程序語(yǔ)句2;,,break;,,case:,,程序語(yǔ)句3;,,break;,,default:,,默認(rèn)執(zhí)行程序語(yǔ)句;,,},3.4 循環(huán)程序構(gòu)造,在現(xiàn)實(shí)生活中有很多規(guī)律性的操作,作為程序來(lái)說(shuō)就是要重復(fù)執(zhí)行某些代碼。其中重復(fù)執(zhí)行的代碼稱(chēng)為循環(huán)體,能否重復(fù)操作,取決于循環(huán)的把握條件。循環(huán)語(yǔ)句可以認(rèn)為是由循環(huán)體和把握條件兩局部組成。,,循環(huán)程序構(gòu)造的構(gòu)造一般認(rèn)為有兩種:,,一種先進(jìn)展條件推斷,假
43、設(shè)條件成立,執(zhí)行循環(huán)體代碼,執(zhí)行完之后再進(jìn)展條件推斷,條件成立連續(xù),否則退出循環(huán)。假設(shè)第一次條件就不滿(mǎn)足,則一次也不執(zhí)行,直接退出。,,另一種是先執(zhí)行依次操作,不管條件,執(zhí)行完成之后進(jìn)展條件推斷,假設(shè)條件成立,循環(huán)連續(xù),否則退出循環(huán)。,3.4.1 for,循環(huán)語(yǔ)句,for循環(huán)語(yǔ)句是ActionScript編程語(yǔ)言中最靈敏、應(yīng)用最為廣泛的語(yǔ)句。for循環(huán)語(yǔ)句語(yǔ)法格式如下:,,for(初始化;循環(huán)條件;步進(jìn)語(yǔ)句) {,,循環(huán)執(zhí)行的語(yǔ)句;,,},,格式說(shuō)明如下:,,初始化:把程序循環(huán)體中需要使用的變量進(jìn)展初始化。留意要使用var關(guān)鍵字來(lái)定義變量,否則編譯時(shí)會(huì)報(bào)錯(cuò)。,,循環(huán)條件:規(guī)律運(yùn)算表達(dá)式,運(yùn)算
44、的結(jié)果預(yù)備循環(huán)的進(jìn)程。假設(shè)為flase,退出循環(huán),否則連續(xù)執(zhí)行循環(huán)代碼。,,步進(jìn)語(yǔ)句:算術(shù)表達(dá)式,用于轉(zhuǎn)變循環(huán)變量的值。通常為使用++〔遞增〕或--〔遞減〕運(yùn)算符的賦值表達(dá)式。,,循環(huán)執(zhí)行的語(yǔ)句:循環(huán)體,通過(guò)不斷轉(zhuǎn)變變量的值,已到達(dá)需要實(shí)現(xiàn)的目標(biāo)。,3.4.2 while,循環(huán)語(yǔ)句,while循環(huán)語(yǔ)句是典型的“當(dāng)型循環(huán)”語(yǔ)句,意思是當(dāng)滿(mǎn)足條件時(shí),執(zhí)行循環(huán)體的內(nèi)容。while循環(huán)語(yǔ)句語(yǔ)法格式如下:,,while(循環(huán)條件) {,,循環(huán)執(zhí)行的語(yǔ)句,,},,格式說(shuō)明如下:,,循環(huán)條件:規(guī)律運(yùn)算表達(dá)式,運(yùn)算的結(jié)果預(yù)備循環(huán)的進(jìn)程。假設(shè)為true,連續(xù)執(zhí)行循環(huán)代碼,否則退出循環(huán)。,,循環(huán)執(zhí)行的語(yǔ)句:循環(huán)
45、體,其中包括變量轉(zhuǎn)變賦值表達(dá)式,執(zhí)行語(yǔ)句并實(shí)現(xiàn)變量賦值。,3.4.3 do..while,循環(huán)語(yǔ)句,do…while循環(huán)是另一一種while循環(huán),它保證至少執(zhí)行一次循環(huán)代碼,這是由于其是在執(zhí)行代碼塊后才會(huì)檢查循環(huán)條件。do…while循環(huán)語(yǔ)句語(yǔ)法格式如下:,,do {,,循環(huán)執(zhí)行的語(yǔ)句,,} while (循環(huán)條件),,循環(huán)執(zhí)行的語(yǔ)句:循環(huán)體,其中包括變量轉(zhuǎn)變賦值表達(dá)式,執(zhí)行語(yǔ)句并實(shí)現(xiàn)變量賦值。,,循環(huán)條件:規(guī)律運(yùn)算表達(dá)式,運(yùn)算的結(jié)果預(yù)備循環(huán)的進(jìn)程。假設(shè)為true,連續(xù)執(zhí)行循環(huán)代碼,否則退出循環(huán)。,3.4.4 for..in,和,for each..in,語(yǔ)句,for..in和for ea
46、ch..in語(yǔ)句都可以用于循環(huán)訪問(wèn)對(duì)象屬性或數(shù)組元素。下面分別使用兩種語(yǔ)句來(lái)訪問(wèn)對(duì)象中的屬性。代碼如下所示。,,//定義一個(gè)對(duì)象lzxt,并添加屬性name和age,,var lzxt:Object = {name:“浪子嘯天“, age:30};,,//執(zhí)行遍歷操作,,for (var i:String in lzxt) {,,//輸出屬性名稱(chēng)和屬性值,,trace(“for in 語(yǔ)句輸出:“+i + “: “ + lzxt[i]);,,},,//執(zhí)行for each遍歷操作,,for each (var k:String in lzxt) {,,//輸出屬性值,,trace(“for e
47、ach 語(yǔ)句輸出:“+k);,,},3.4.5,循環(huán)的嵌套,嵌套循環(huán)語(yǔ)句,就是在一個(gè)循環(huán)的循環(huán)體中存在另一個(gè)循環(huán)體,如此重復(fù)下去直到循環(huán)完畢為止,即為循環(huán)中的循環(huán)。以for循環(huán)為例,格式如下所示。,,for (初始化; 循環(huán)條件; 步進(jìn)語(yǔ)句) {,,for (初始化; 循環(huán)條件; 步進(jìn)語(yǔ)句) {,,循環(huán)執(zhí)行的語(yǔ)句;,,},,},3.4.6 循環(huán)流程把握語(yǔ)句,在ActionScript 3.0中可以使用break和continue來(lái)把握循環(huán)流程。break語(yǔ)句的結(jié)果是直接跳出循環(huán),不再執(zhí)行后面的語(yǔ)句;continue語(yǔ)句的結(jié)果是停頓當(dāng)前這一輪的循環(huán),直接跳到下一輪的循環(huán),而當(dāng)前輪次中conti
48、nue后面的語(yǔ)句也不再執(zhí)行。,,下面的兩個(gè)例子分別執(zhí)行循環(huán)變量從0遞增到10的過(guò)程,假設(shè)i等于4,分別執(zhí)行break和continue語(yǔ)句,看發(fā)生的狀況。代碼如下所示。,,//使用break把握循環(huán),,for (var i:int=0; i<10; i++) {,,if (i==3) {,,break;,,},,trace(“當(dāng)前數(shù)字是:“+i);,,},第,4,章 函數(shù),函數(shù)在程序設(shè)計(jì)的過(guò)程中,是一個(gè)革命性的創(chuàng)新。利用函數(shù)編程,可以避開(kāi)冗長(zhǎng)、雜亂的代碼;利用函數(shù)編程,可以重復(fù)利用代碼,提高程序效率;利用函數(shù)編程,可以便利的修改程序,提高編程效率。,,函數(shù)(Function)的準(zhǔn)確的定義為:
49、執(zhí)行特定任務(wù),并可以在程序中重用的代碼塊。ActionScript 3.0中有兩類(lèi)函數(shù):“方法”和“函數(shù)閉包”。具體是將函數(shù)稱(chēng)為方法還是函數(shù)閉包,取決于定義函數(shù)的上下文。,4.1,定義函數(shù),在ActionScript 3.0中有兩種定義函數(shù)的方法:一種是常用的函數(shù)語(yǔ)句定義法;一種是ActionScript中獨(dú)有的函數(shù)表達(dá)式定義法。具體使用哪一種方法來(lái)定義,要依據(jù)編程習(xí)慣來(lái)選擇。一般的編程人員使用函數(shù)語(yǔ)句定義法,對(duì)于有特殊需求的編程人員,則使用函數(shù)表達(dá)式定義法。,4.1.1,函數(shù)語(yǔ)句定義法,函數(shù)語(yǔ)句定義法是程序語(yǔ)言中根本類(lèi)似的定義方法,使用function關(guān)鍵字來(lái)定義,其格式如下所示。,,fun
50、ction 函數(shù)名(參數(shù)1:參數(shù)類(lèi)型,參數(shù)2:參數(shù)類(lèi)型…):返回類(lèi)型{,,//函數(shù)體,,},,代碼格式說(shuō)明:,,function:定義函數(shù)使用的關(guān)鍵字。留意function關(guān)鍵字要以小寫(xiě)字母開(kāi)頭。,,函數(shù)名:定義函數(shù)的名稱(chēng)。函數(shù)名要符合變量命名的規(guī)章,最好給函數(shù)取一個(gè)與其功能全都的名字。,,小括號(hào):定義函數(shù)的必需的格式,小括號(hào)內(nèi)的參數(shù)和參數(shù)類(lèi)型都可選。,,返回類(lèi)型:定義函數(shù)的返回類(lèi)型,也是可選的,要設(shè)置返回類(lèi)型,冒號(hào)和返回類(lèi)型必需成對(duì)消逝,而且返回類(lèi)型必需是存在的類(lèi)型。,,大括號(hào):定義函數(shù)的必需格式,需要成對(duì)消逝。括起來(lái)的是函數(shù)定義的程序內(nèi)容,是調(diào)用函數(shù)時(shí)執(zhí)行的代碼。,4.1.2,函數(shù)表達(dá)式定
51、義法,函數(shù)表達(dá)式定義法有時(shí)也稱(chēng)為函數(shù)字面值或匿名函數(shù)。這是一種較為繁雜的方法,在早期的ActionScript版本中廣為使用。其格式如下所示。,,var 函數(shù)名:Function=function(參數(shù)1:參數(shù)類(lèi)型,參數(shù)2:參數(shù)類(lèi)型…):返回類(lèi)型{,,//函數(shù)體,,},,代碼格式說(shuō)明:,,var:定義函數(shù)名的關(guān)鍵字,var關(guān)鍵字要以小寫(xiě)字母開(kāi)頭。,,函數(shù)名:定義的函數(shù)名稱(chēng)。,,Function:指示定義數(shù)據(jù)類(lèi)型是Function類(lèi)。留意Function為數(shù)據(jù)類(lèi)型,需大寫(xiě)字母開(kāi)頭。,,=:賦值運(yùn)算符,把匿名函數(shù)賦值給定義的函數(shù)名。,,function:定義函數(shù)的關(guān)鍵字,指明定義的是函數(shù),,小括號(hào)
52、:定義函數(shù)的必需的格式,小括號(hào)內(nèi)的參數(shù)和參數(shù)類(lèi)型都可選。,,返回類(lèi)型:定義函數(shù)的返回類(lèi)型,可選參數(shù)。,,大括號(hào):其中為函數(shù)要執(zhí)行的代碼。,4.1.3 兩種定義方法的區(qū)分和選擇,原則上,推舉使用使用函數(shù)語(yǔ)句定義法。由于這種方法更加簡(jiǎn)潔,更有助于保持嚴(yán)格模式和標(biāo)準(zhǔn)模式的全都性的。,,下面要講解的是函數(shù)語(yǔ)句和函數(shù)表達(dá)式定義法之間存在的區(qū)分,具體內(nèi)容如下所示。,,1.兩種方法區(qū)分,,2.兩種方法的選擇,,在兩種定義方法的選擇上,一般使用函數(shù)語(yǔ)句定義法。函數(shù)表達(dá)式定義函數(shù)主要用于:一是適合關(guān)注運(yùn)行時(shí)行為或動(dòng)態(tài)行為的編程,二是用于那些使用一次后便丟棄的函數(shù)或者向原型屬性附加的函數(shù)。函數(shù)表達(dá)式更多地用在動(dòng)
53、態(tài)編程或標(biāo)準(zhǔn)模式編程中。,4.2,調(diào)用函數(shù),函數(shù)只是一個(gè)編好的程序塊,在沒(méi)有被調(diào)用之前,什么也不會(huì)發(fā)生。只有通過(guò)調(diào)用函數(shù),函數(shù)的功能才能夠?qū)崿F(xiàn),才能表達(dá)出函數(shù)的高效率。通過(guò)本節(jié)的學(xué)習(xí),讀者將把握一般的函數(shù)調(diào)用方法以及嵌套和遞歸調(diào)用函數(shù)的方法。,4.2.1,函數(shù)的一般調(diào)用,對(duì)于沒(méi)有參數(shù)的函數(shù),可以直接使用該函數(shù)的名字,并后跟一個(gè)圓括號(hào)(它被稱(chēng)為“函數(shù)調(diào)用運(yùn)算符”)來(lái)調(diào)用。,,下面定義一個(gè)不帶參數(shù)的函數(shù)HelloAS,并在定義之后直接調(diào)用,其代碼如下。,,function HelloAS {,,trace(“AS3.0世界歡送你!“);,,},,HelloAS;,,代碼運(yùn)行后的輸出結(jié)果,如下所示。
54、,,/輸出:AS3.0世界歡送你!,4.2.2,嵌套和遞歸調(diào)用函數(shù),嵌套和遞歸調(diào)用是兩種類(lèi)似函數(shù)調(diào)用方式,其本質(zhì)都是在調(diào)用函數(shù)時(shí)用一個(gè)函數(shù)就調(diào)用另一個(gè)函數(shù)。不同的是,嵌套調(diào)用是用一個(gè)函數(shù)去調(diào)用另一個(gè)函數(shù),而遞歸調(diào)用是函數(shù)調(diào)用自身函數(shù)。,,1,.嵌套調(diào)用函數(shù),,2,.遞歸調(diào)用函數(shù),4.3,函數(shù)的返回值,主調(diào)函數(shù)通過(guò)函數(shù)的調(diào)用得到一個(gè)確定的值,此值被稱(chēng)為函數(shù)的返回值。利用函數(shù)的返回值,可以通過(guò)函數(shù)進(jìn)展數(shù)據(jù)的處理、分析和轉(zhuǎn)換,并能最終獵取想要獲得的結(jié)果。在本節(jié)我們主要學(xué)習(xí)函數(shù)返回值的獵取方法和獵取過(guò)程中的留意事項(xiàng)。,4.3.1 return,語(yǔ)句,AS從函數(shù)中獵取返回值,使用return語(yǔ)句來(lái)實(shí)現(xiàn)
55、,語(yǔ)法格式如下:,,return 返回值,,return:函數(shù)返回值的關(guān)鍵字,必需的。,,返回值:函數(shù)中返回的數(shù)據(jù),既可以是字符串、數(shù)值等,也可以是對(duì)象,如數(shù)組、影片簡(jiǎn)介等。,,下面定義一個(gè)求圓形面積的函數(shù),并返回圓面積的值,其代碼如下:,,function 圓面積(r:Number):Number{,,var s:Number=Math.PI*r*r,,return s,,},,trace(圓面積(5)),4.3.2,返回值類(lèi)型,函數(shù)的返回類(lèi)型在函數(shù)的定義中屬于可選參數(shù),假設(shè)沒(méi)有選擇,那么返回值的類(lèi)型由return語(yǔ)句中返回值的數(shù)據(jù)類(lèi)型來(lái)預(yù)備。,,下面的代碼,return語(yǔ)句返回一個(gè)字符型數(shù)
56、據(jù),來(lái)驗(yàn)證一下返回值的類(lèi)型。,,function 類(lèi)型測(cè)試 {,,var a:String=“這是一個(gè)字符串“;,,return a;,,},,trace(typeof(類(lèi)型測(cè)試));,,代碼運(yùn)行后的輸出結(jié)果,如下所示。,,string,4.4,函數(shù)的參數(shù),函數(shù)通過(guò)參數(shù)向函數(shù)體傳遞數(shù)據(jù)和信息。ActionScript 3.0對(duì)函數(shù)的參數(shù)增加了一些新功能,同時(shí)也增加了一些限制。有大多數(shù)程序員都生疏的按值或按引用傳遞參數(shù)這一概念,也有對(duì)很多人很生疏的arguments對(duì)象和...(rest)參數(shù)。,4.4.1,傳遞參數(shù)的語(yǔ)法,函數(shù)中傳遞的參數(shù)都位于函數(shù)格式的括號(hào)中,語(yǔ)法格式如下:,,(參數(shù)1:參數(shù)
57、類(lèi)型=默認(rèn)值,參數(shù)2:參數(shù)類(lèi)型=默認(rèn)值),,下面定義一個(gè)共性化的歡送語(yǔ)句,對(duì)不同的姓名給出對(duì)應(yīng)的問(wèn)候。代碼如下所示。,,function Welcome(username:String):void {,,trace(“歡送你!“+username);,,},,Welcome(“張三“);,,Welcome(“小明“);,,代碼運(yùn)行后的輸出結(jié)果,如下所示。,,歡送你!張三,,歡送你!小明,4.4.2,傳遞參數(shù)的的兩種方法,很多編程語(yǔ)言中,參數(shù)的傳遞根本都是兩種類(lèi)型:按值或者按引用傳遞。按值傳遞意味著將參數(shù)的值復(fù)制到局部變量中以便在函數(shù)內(nèi)使用。按引用傳遞意味著將只傳遞對(duì)參數(shù)的引用,而不傳遞實(shí)際值。
58、要了解任何一門(mén)編程語(yǔ)言中的函數(shù),首先必需搞清晰的問(wèn)題就是參數(shù)的傳遞究竟是按值還是按引用來(lái)傳遞參數(shù)。,,在ActionScript 3.0 中,全部的參數(shù)均按引用傳遞,由于全部的值都存儲(chǔ)為對(duì)象。基元型數(shù)據(jù)是不變的對(duì)象,按按值還是按引用的效果一樣,通??梢钥醋魇前粗祩鬟f。按值傳遞,就是指參數(shù)被傳遞給函數(shù)后,被傳遞的變量就獨(dú)立了。假設(shè)在函數(shù)中轉(zhuǎn)變這個(gè)變量,原變量不會(huì)發(fā)生任何的變化。,4.4.3,給函數(shù)設(shè)置默認(rèn)參數(shù),在ActionScript 2.0中并不支持對(duì)函數(shù)設(shè)置默認(rèn)參數(shù),此為ActionScript 3.0的新功能。要給一個(gè)函數(shù)的參數(shù)設(shè)置默認(rèn)值,語(yǔ)法格式如下:,,function(參數(shù)1:參數(shù)
59、類(lèi)型=默認(rèn)值,參數(shù)2:參數(shù)類(lèi)型=默認(rèn)值),,默認(rèn)參數(shù)是可選項(xiàng),可以設(shè)置默認(rèn)參數(shù),也可以不設(shè)置默認(rèn)參數(shù)。假設(shè)設(shè)置了默認(rèn)參數(shù),則在調(diào)用函時(shí),假設(shè)果沒(méi)有寫(xiě)明參數(shù),系統(tǒng)將使用在函數(shù)定義中為該參數(shù)指定的值。,4.4.4 arguments,對(duì)象和,...(rest),參數(shù),ActionScript3.0中有兩種函數(shù)調(diào)用時(shí)檢查參數(shù)數(shù)量的方法,分別為使用arguments對(duì)象和..(rest) 參數(shù)。,,1.a(chǎn)rguments 對(duì)象,,在函數(shù)中,可以使用arguments 對(duì)象來(lái)訪問(wèn)有關(guān)傳遞給該函數(shù)的參數(shù)的信息。arguments 對(duì)象是一個(gè)數(shù)組,其中按挨次保存著傳遞給函數(shù)的全部參數(shù)??梢允褂脭?shù)組的訪問(wèn)方
60、式來(lái)訪問(wèn)傳入的參數(shù)。它有一個(gè)length屬性記錄當(dāng)前傳入的參數(shù)數(shù)目;還有一個(gè)屬性callee供給對(duì)函數(shù)本身的引用,該引用可用于遞歸調(diào)用函數(shù)表達(dá)式。,,2....(rest)參數(shù),,...(rest)參數(shù)是ActionScript3.0引入的新參數(shù)聲明。使用該參數(shù)可指定一個(gè)自己命名的數(shù)組參數(shù)來(lái)承受任意多個(gè)以逗號(hào)分隔的參數(shù)。,第5章 大事的發(fā)送和處理,大事處理系統(tǒng)是交互式程序設(shè)計(jì)的重要根底。利用大事處理機(jī)制,可以便利的相應(yīng)用戶(hù)輸入和系統(tǒng)大事。ActionScript 3.0的大事機(jī)制基于文檔對(duì)象模型〔DOM3〕,是業(yè)界標(biāo)準(zhǔn)的大事處理體系構(gòu)造。使用機(jī)制不僅便利,而且符合標(biāo)準(zhǔn)。ActionScrip
61、t 3.0全新的大事處理機(jī)制是ActionScript編程語(yǔ)言中的重大改進(jìn),對(duì)ActionScript程序設(shè)計(jì)人員來(lái)說(shuō),在使用上也更加的便利和直觀。,5.1 大事處理根底,在本節(jié)將介紹大事和處理的根本概念,了解常見(jiàn)的大事處理任務(wù)。比照ActionScript編程語(yǔ)言中不同版本的大事處理機(jī)制的異同,明確ActionScript 3.0中大事處理機(jī)制具有良好的性能。,5.1.1 大事和大事處理根底學(xué)問(wèn),大事和大事處理是面對(duì)對(duì)象編程的根底。本節(jié)將介紹大事和大事處理的根底學(xué)問(wèn)以及大事處理的方法和大事處理的任務(wù)。,,1.大事和大事處理根本概念,,2.ActionScript 3.0中的大事和大事處理,
62、,3.ActionScript 3.0中的大事處理任務(wù),,在ActionScript 3.0編程過(guò)程中,常見(jiàn)的使用大事處理的任務(wù)有:,,編寫(xiě)代碼以響應(yīng)大事,,阻擋代碼響應(yīng)大事,,處理大事對(duì)象,,處理大事流,,從類(lèi)中調(diào)度大事,,創(chuàng)立自定義大事類(lèi)型,5.1.2 早期 ActionScript 版本中的大事處理,ActionScript 1.0使用on和onClipEvent兩個(gè)大事處理函數(shù)來(lái)處理大事。具體為:,,on大事處理函數(shù),直接放在按鈕或者影片剪輯實(shí)例上。,,onClipEvent處理函數(shù),直接放在影片剪輯實(shí)例上。,,這種方法把代碼直接夾在實(shí)例上,簡(jiǎn)潔易于、便利直接,但是由于分散在各個(gè)不同
63、的元件之上,難以治理和維護(hù)。特殊是處理不是本人編寫(xiě)的代碼,查看和找尋會(huì)鋪張?zhí)嗟恼滟F時(shí)間。,,在ActionScript2.0中對(duì)大事處理進(jìn)展了改進(jìn),增加了一些大事處理機(jī)制,具體為:,,回調(diào)函數(shù)大事:onload、oninit、onComplete等。,,大事偵聽(tīng)器:addListener、addEventListener。,5.1.3 ActionScript 3.0中的大事處理,在ActionScript 3.0引入了基于文檔對(duì)象模型〔DOM3〕唯一的一種大事處理模式,取代了以前各版本中存在的眾多的大事處理機(jī)制。在ActionScript3.0中值存在一種大事處理模型,雖然會(huì)對(duì)一些老版本
64、的用戶(hù)和一些非開(kāi)發(fā)者造成確定的麻煩,但更加清晰,更加標(biāo)準(zhǔn),更符合面對(duì)對(duì)象開(kāi)發(fā)的需要。,,比照ActionScript 2.0,ActionScript 3.0的大事處理體系具有以下幾個(gè)新特點(diǎn):,,在ActionScript 3.0中,只能使用addEventListener注冊(cè)偵聽(tīng)器。,,在ActionScript 3.0中,可以對(duì)屬于大事流一局部的任何對(duì)象調(diào)用addEventListener方法。,,在ActionScript 3.0中,只有函數(shù)或方法可以是大事偵聽(tīng)器。,5.2 Event,類(lèi),在ActionScript 3.0的大事處理系統(tǒng)中,大事對(duì)象主要有兩個(gè)作用:一是將大事信息儲(chǔ)存在
65、一組屬性中,來(lái)代表具體大事;二是包含一組方法,用于操作大事對(duì)象和影響大事處理系統(tǒng)的行為。,,在ActionScript 3.0中,在Flash播放器的應(yīng)用程序接口中,有一個(gè)Event類(lèi),作為全部大事對(duì)象的基類(lèi),也就是說(shuō),程序中所發(fā)生的大事都必需是Event類(lèi)或者其子類(lèi)的實(shí)例。,5.2.1,了解,Event,類(lèi)屬性,Event類(lèi)公開(kāi)的屬性有:type、cancelable、target、currentTarget、eventphase、bubles。,,1.type屬性:每個(gè)大事對(duì)象都有關(guān)聯(lián)的大事類(lèi)型。大事類(lèi)型存儲(chǔ)以字符串的形式存儲(chǔ)在Event.type屬性中。利用大事類(lèi)型,可以區(qū)分不同類(lèi)型的大
66、事。,,2.cancelable屬性:大事的默認(rèn)行為是否可以被阻擋由布爾值表示,并存儲(chǔ)在Event.cancelable屬性中。此屬性時(shí)一個(gè)布爾值,默認(rèn)為flase。這個(gè)屬性一般是和preventDefault方法結(jié)合在一起使用的。,,3.target屬性:target屬性用于存儲(chǔ)對(duì)大事目標(biāo)的引用。,,4.其它屬性:currentTarget、eventphase和bubbles這三個(gè)屬性都是和ActionScript3的大事流機(jī)制有關(guān),在尋常用到的不多。,5.2.2,了解,Event,類(lèi)的方法,Event類(lèi)的方法有7種:clone、toString、stopPropogation、stopImmediatePropogation、preventDefault、isDefaultPrevented和formatToString。這些方法的用途如下:,,Event.clone方法用于賦值Event子類(lèi)實(shí)例,返回Event對(duì)象原始實(shí)例的副本。當(dāng)需要自定義Event子類(lèi)時(shí),就必需要繼承Event.clone方法,用于賦值自定義類(lèi)的屬性。另外還要加上新的屬性,否則在偵聽(tīng)器重寫(xiě)調(diào)用時(shí),這些屬性的
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷(xiāo)售技巧培訓(xùn)課件:接近客戶(hù)的套路總結(jié)
- 20種成交的銷(xiāo)售話術(shù)和技巧
- 銷(xiāo)售技巧:接近客戶(hù)的8種套路
- 銷(xiāo)售套路總結(jié)
- 房產(chǎn)銷(xiāo)售中的常見(jiàn)問(wèn)題及解決方法
- 銷(xiāo)售技巧:值得默念的成交話術(shù)
- 銷(xiāo)售資料:讓人舒服的35種說(shuō)話方式
- 汽車(chē)銷(xiāo)售績(jī)效管理規(guī)范
- 銷(xiāo)售技巧培訓(xùn)課件:絕對(duì)成交的銷(xiāo)售話術(shù)
- 頂尖銷(xiāo)售技巧總結(jié)
- 銷(xiāo)售技巧:電話營(yíng)銷(xiāo)十大定律
- 銷(xiāo)售逼單最好的二十三種技巧
- 銷(xiāo)售最常遇到的10大麻煩
- 銷(xiāo)售資料:銷(xiāo)售10大黃金觀念
- 銷(xiāo)售資料:導(dǎo)購(gòu)常用的搭訕?lè)椒?/a>