ASP 程序的設計_第1頁
ASP 程序的設計_第2頁
ASP 程序的設計_第3頁
ASP 程序的設計_第4頁
ASP 程序的設計_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章、腳本語言第三章、腳本語言 VBScript VBScript3-1、服務器端腳本和客戶端腳本 ASP程序由HTML標記、腳本語言和文本組成,其中的腳本語言可以用任何一種腳本VBScript和Jscript編寫,本章主要講述VBScript。 編程時既可編寫服務器端腳本也可編寫客戶端腳本,服務器端腳本在Web服務器上運行,客戶端腳本由客戶端的瀏覽器運行。 1、服務器端腳本 在2-19.asp中,沒有對客戶端用戶輸入的數(shù)據(jù)進行驗證,如果用戶沒有輸入任何數(shù)據(jù)就點擊提交,則服務器端將收到“空字符串”,此時可在2-19a.asp中加入服務器端腳本進行驗證,見例3-1.asp和3-1a.asp。

2、例3-1服務器端腳本3-1.asp) 程序3-1.asp的處理程序:(3-1a.asp) 2、客戶端腳本 上例中所討論的腳本程序在服務器端運行,每次用戶輸入的數(shù)據(jù)都要傳到服務器端,驗證后再傳回客戶端,效率并不高,此時可采用客戶端腳本,見下例。 例3-2客戶端腳本3-2.asp)程序3-2.asp的處理程序(3-2a.asp) 可見3-2a.asp程序與2-19a.asp程序的作用完全相同,但效率不同。注:因為Netscape的Navigator不支持VBScript,編寫VBScript客戶端腳本時最好加上。 * * *3-23-2、常量數(shù))、常量數(shù)) 一、數(shù)據(jù)的類型 數(shù)據(jù)是對客觀事物及其屬性

3、的描述在計算機的程序語言中,身高、體重等可以參加算術運算的數(shù)據(jù)又叫“數(shù)值型數(shù)據(jù)”;姓名、籍貫等不參與算術運算的數(shù)據(jù)又叫“字符型數(shù)據(jù)”;出生年月又叫“日期型數(shù)據(jù)”;性別等只有兩種結(jié)果的數(shù)據(jù)又稱為“邏輯型數(shù)據(jù)”。 計算機中數(shù)據(jù)的類型:計算機中數(shù)據(jù)的類型: 數(shù)值型數(shù)據(jù)字符型數(shù)據(jù)日期型數(shù)據(jù)輯型數(shù)據(jù) 整型 -32768-+32767之間的整數(shù)長整型 -2147483648-+2147483647之間的整數(shù)單精度數(shù) 又精度數(shù) 見P79頁 例如:某人姓名張三、年齡19歲,身高1.78,體重200公斤,這里的張三,19,1.78,200就是數(shù)據(jù)。 二、數(shù)據(jù)的表示方法 數(shù)值型數(shù)據(jù)直接書寫:(可用前綴來區(qū)分進制)

4、 如:100 十進制 &H64 十六進制 &0144 八進制字符型數(shù)據(jù)字符串必須用單引號或雙引號括起來: 如:“西雙版納職業(yè)技術學院” 日期型數(shù)據(jù)必須用一對#號括起來: 如:#9/21/2019 8:00:01# 邏輯型數(shù)據(jù)只有真True或假False兩種取值 在VBScript中,只有一種數(shù)據(jù)類型,即Variant類型。 三、常量 在程序運行期間,值不發(fā)生變化的量,叫常量。 如:定義常量后,在程序中的任何地方可用PI來引用3.141593-33-3、變量、變量 一、概念 在程序運行期間,值會發(fā)生變化的量,叫變量。 變量常用來臨時存儲數(shù)據(jù),在VBScript中變量可以未經(jīng)聲明就

5、使用,且不區(qū)分大小寫,因此VBScript又被稱為弱類型語言。見下列程序: 例2-19a.asp 這樣做的好處方便了程序員,但如果程序中變量較多時,程序員自己可能也不知道變量中到底存儲了什么值,給今后閱讀程序增加了困難。因而,建議養(yǎng)成良好的習慣,使用變量前先聲明,后使用。 二、變量的聲明 變量的聲明用:DIM 語句,如:DIM X聲明多個變量時,用逗號分隔。如:Dim x,y,z 數(shù)組變量 具有相同變量名的一組下標變量,稱為數(shù)組。 聲明數(shù)組變量時,變量名后帶括號()。 如:下例聲明一個包含11個元素的一維數(shù)組:Dim A(10)VBScrript的數(shù)組下標總是從0開始。Dim A(10)相當于

6、定義了: A(0)A(0)、A A1 1)、)、A(2)A(2)、A A3 3)、)、A(4)A(4)、A A5 5)、)、A(6)A(6)、A A7 7)、)、A(8)A(8)、A A9 9)、)、A(10)A(10)共十一個元素下標變量),下標用來指明數(shù)組元素的位置。共十一個元素下標變量),下標用來指明數(shù)組元素的位置。 * *用一個下標就能確定一個元素在數(shù)組中的位置,則該數(shù)組稱為一維數(shù)組。用一個下標就能確定一個元素在數(shù)組中的位置,則該數(shù)組稱為一維數(shù)組。 右下圖為一維數(shù)組右下圖為一維數(shù)組A(10)A(10)的元素在內(nèi)存中獲得的空間。的元素在內(nèi)存中獲得的空間。 由此可見,聲明數(shù)組時不要太大,夠

7、用即可,否則浪費內(nèi)存。 A(0) A(0) A(1) A(1) A(2) A(2) A(10) A(10) 上界下界數(shù)組并不僅限于一維,可以是二維、三維、數(shù)組并不僅限于一維,可以是二維、三維、,聲明多維數(shù)組,聲明多維數(shù)組時用逗號分隔括號中每個表示數(shù)組大小的數(shù)字。如:下例聲明了時用逗號分隔括號中每個表示數(shù)組大小的數(shù)字。如:下例聲明了一個二維數(shù)組:一個二維數(shù)組: Dim B(1,2) Dim B(1,2) 相當于聲明了以下六個元素:相當于聲明了以下六個元素:B(0,0) B(0,1) B(0,2)B(0,0) B(0,1) B(0,2)B(1,0) B(1,1) B(1,2) B(1,0) B(1

8、,1) B(1,2) 三、變量命名規(guī)則 右圖為二維數(shù)組B(1,2)的元素在內(nèi)存中獲得的空間。 B(0,0) B(0,0) B(0,1) B(0,1) B(0,2) B(0,2) B(1,0) B(1,0) B(1,1) B(1,1) B(1,2) B(1,2) 以字母開頭變量名長度不得超過255個字符中間不能有空格和句號 上例中可加入: dim x 存放姓名dim y 存放密碼 3-4、運算符 表示運算關系的符號 1、 算術運算符+(加) -(減) *(乘) /(除) MOD取模) (乘方) 注:算術運算符的運算優(yōu)先順序與數(shù)學中的相同:()注:算術運算符的運算優(yōu)先順序與數(shù)學中的相同:() *

9、* / Mod + - / Mod + -四、變量的賦值 在在VBScriptVBScript中,用賦值號中,用賦值號“=”“=”對變量賦值,如對變量賦值,如X=1X=1,y=y=張金龍張金龍 。 * * *2 2、關系運算符、關系運算符 = 或或 ! ! 注:關系運算符的結(jié)果只能是邏輯型的值,即注:關系運算符的結(jié)果只能是邏輯型的值,即 T T 或或 F F,關系運算一般用作程序中的關系運算一般用作程序中的“條件條件” ” 如:如: % x+y then if zx+y then response.write(“True”) response.write(“True”) else else r

10、esponse.write(“False”) response.write(“False”) end if end if % %此時的屏幕輸出結(jié)果是:此時的屏幕輸出結(jié)果是:True True 而不是而不是 False False演示程序演示程序3-3.asp 3-3.asp 3 3、連接字符串運算符、連接字符串運算符 & & 和和 + + 例如:例如:% %4 4、邏輯運算符、邏輯運算符 not not (非)(非) and and (與)(與) or or (或)(或) XOR( XOR(異或異或) EQV) EQV同或)同或) (1 1邏輯非邏輯非 not x not x當

11、邏當邏X X的值為真時,結(jié)果為假;當?shù)闹禐檎鏁r,結(jié)果為假;當X X的值為假時,結(jié)果為真。的值為假時,結(jié)果為真。如:如: 39-5 39-5 (真)(真) NOT 39-5 ( NOT 36 96 (真)(真) 0-1 0-1 (真)(真) 96 and 0-1 96 and 0-1 (真)(真) (3 3邏輯或邏輯或 x or y x or y 僅當量僅當量x x和和y y的值同時為假時,結(jié)果才為假;否則為真。的值同時為假時,結(jié)果才為假;否則為真。 如:如: 96 96 (假)(假) 0-1 0-1 (假)(假)96 or 0-1 96 or 06 96 (真)(真) 0-1 06 XOR 0

12、6 XOR 06 96 (真)(真) 0-1 06 EQV 06 EQV 0-1 (假)(假) “異或異或”、“同或真值表同或真值表X Xy yX xor yX xor yX Eqv yX Eqv y0 00 00 01 10 01 11 10 01 10 01 10 01 11 10 01 13-53-5、程序的三種結(jié)構(gòu)、程序的三種結(jié)構(gòu) 腳本程序有三種基本的結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。腳本程序有三種基本的結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 一、順序結(jié)構(gòu)一、順序結(jié)構(gòu)默認情況下,腳本中的代碼總是按書寫的順序執(zhí)行,此種程序的結(jié)構(gòu)稱為順序結(jié)構(gòu)。默認情況下,腳本中的代碼總是按書寫的順序執(zhí)行,

13、此種程序的結(jié)構(gòu)稱為順序結(jié)構(gòu)。 例例3-4順序程序結(jié)構(gòu)順序程序結(jié)構(gòu)3-4.asp)二、分支結(jié)構(gòu)二、分支結(jié)構(gòu) 程序在執(zhí)行過程中產(chǎn)生不同走向的結(jié)構(gòu),叫分支結(jié)構(gòu)。程序在執(zhí)行過程中產(chǎn)生不同走向的結(jié)構(gòu),叫分支結(jié)構(gòu)。在在VBScript中,實現(xiàn)分支的語句有:條件分支和選擇分支兩種。中,實現(xiàn)分支的語句有:條件分支和選擇分支兩種。 (一條件分支(一條件分支1、語法格式、語法格式2 2、作用、作用 先測試先測試 1,如果為假,再測試,如果為假,再測試 2,依次類推,直到找到一個,依次類推,直到找到一個為真的條件。當找到一個為真條件時,就執(zhí)行相應的語句塊,然后執(zhí)行為真的條件。當找到一個為真條件時,就執(zhí)行相應的語句塊

14、,然后執(zhí)行end ifend if后的語句;如果條件都不為真,則執(zhí)行后的語句;如果條件都不為真,則執(zhí)行elseelse后的語句塊。后的語句塊。 例例3-5條件分支結(jié)構(gòu)條件分支結(jié)構(gòu)3-5.asp)( (二二) )、選擇分支、選擇分支 1 1、語法格式、語法格式%select case select case 表達式表達式 case case 值值1 1 1 case case值值2 2 2 case else case else n end select end select% 2 2、作用、作用 先計算表達式的值,然后與每個先計算表達式的值,然后與每個casecase值比較。若相等,就執(zhí)行與該

15、值比較。若相等,就執(zhí)行與該casecase關聯(lián)的語句塊。當找到一個為真關聯(lián)的語句塊。當找到一個為真條件時,就執(zhí)行相應的語句塊,然后條件時,就執(zhí)行相應的語句塊,然后執(zhí)行執(zhí)行end selectend select后的語句。后的語句。 或者或者: :(根據(jù)表達式的值,從多個(根據(jù)表達式的值,從多個casecase語句中選語句中選擇一個符合條件的擇一個符合條件的casecase語句執(zhí)行。)語句執(zhí)行。) * *例例3-6選擇分支結(jié)構(gòu)選擇分支結(jié)構(gòu)3-6.asp) x x2000 0.95x 2000=x3000y= 0.8x 3000=x=4000 編程序要求:屏幕提示用戶輸入編程序要求:屏幕提示用戶輸

16、入x的值,傳到服務器后,計算的值,傳到服務器后,計算y值,然后傳回給用值,然后傳回給用戶。戶。程序如下:程序如下:3-6.asp 程序程序3-6.asp3-6.asp的服務器處理程序的服務器處理程序3-6a.asp3-6a.asp: 說明:分支語句可以嵌套,嵌套的層數(shù)沒有限定。說明:分支語句可以嵌套,嵌套的層數(shù)沒有限定。例如例如 If thenIf then If then If then end if end ifelseelse If then If then end if end ifend ifend if三、循環(huán)結(jié)構(gòu)三、循環(huán)結(jié)構(gòu) 程序在運行過程中,有時需要重復執(zhí)行某段語程序在運行過程

17、中,有時需要重復執(zhí)行某段語句塊,使程序在某一局部出現(xiàn)循環(huán),這就需要句塊,使程序在某一局部出現(xiàn)循環(huán),這就需要能產(chǎn)生循環(huán)的語句。能產(chǎn)生循環(huán)的語句。 VBScriptVBScript提供了以下實現(xiàn)循環(huán)的語句:提供了以下實現(xiàn)循環(huán)的語句:forfor循環(huán),循環(huán),dodo循環(huán)。以下介紹幾個它們的變種。循環(huán)。以下介紹幾個它們的變種。 ( (一一) )、for/nextfor/next步長循環(huán)語句步長循環(huán)語句 1 1、格式:、格式:For For = to to step step exit forexit forNext Next 2 2、功能、功能 循環(huán)變量從循環(huán)變量從 開始重復執(zhí)行開始重復執(zhí)行 ,直到等

18、于,直到等于 ,才執(zhí)行才執(zhí)行nextnext后的語句。后的語句。其中:其中: 可正可負可正可負 Exit for Exit for 用于退出用于退出forfor循環(huán)。循環(huán)。 例例3-7 3-7 計算計算y=1+3+5+99 y=1+3+5+99 用用For/nextFor/next循環(huán)語句實現(xiàn)循環(huán)語句實現(xiàn)3-7.asp3-7.asp):): ( (二二) )、for/eachfor/each循環(huán)語句循環(huán)語句 1 1、格式:、格式:For each For each 元素元素 in in 數(shù)組數(shù)組( (對象集合對象集合) ) exit forexit forNext Next 2 2、功能、功能

19、 對數(shù)組中的每一個元素重執(zhí)行對數(shù)組中的每一個元素重執(zhí)行 。 如:假設數(shù)組如:假設數(shù)組A A5 5中存放了中存放了0,1,3,5,7,90,1,3,5,7,9的值,則可用以下語句輸出。的值,則可用以下語句輸出。%說明:循環(huán)語句可以嵌套,嵌套的層數(shù)沒有限定,隨著嵌套層數(shù)的加大,程序運行說明:循環(huán)語句可以嵌套,嵌套的層數(shù)沒有限定,隨著嵌套層數(shù)的加大,程序運行速度會變慢。速度會變慢。 for I for I for J for J next nextnextnext如果不知道循環(huán)終值時,用如果不知道循環(huán)終值時,用ForFor循環(huán)較為方便。循環(huán)較為方便。( (三三) )、Do while/loopDo

20、while/loop循環(huán)循環(huán)1 1、格式:、格式:Do while Do while loop loop 2 2、功能、功能 先測試先測試 ,如果為假,則不執(zhí)行如果為假,則不執(zhí)行 ;否則執(zhí)行;否則執(zhí)行 。 例例3-8 7的多少次方可超過的多少次方可超過7845( (四四) )、Do / loop whileDo / loop while循環(huán)循環(huán)1 1、格式:、格式:Do Do loop while loop while 2 2、功能、功能 先執(zhí)行循環(huán)體,再測試先執(zhí)行循環(huán)體,再測試 ,如果為假,則不執(zhí)行如果為假,則不執(zhí)行 ;否則重復執(zhí)行;否則重復執(zhí)行 。 說明:這種形式保證說明:這種形式保證 至

21、少執(zhí)行一次。至少執(zhí)行一次。 例例3-9 73-9 7的多少次方可超過的多少次方可超過7845 7845 77的多少次方可超過的多少次方可超過78457845%x=1x=1i=0i=0do do x=xx=x* *7 7I=I+1I=I+1Loop while x=7845Loop while x% 3-63-6、SubSub過程和過程和FunctionFunction函數(shù)函數(shù) 一、過程一、過程procedureprocedure在編寫腳本程序時,有時某一段程序代碼可能會反復使用,可將該段代碼命名在編寫腳本程序時,有時某一段程序代碼可能會反復使用,可將該段代碼命名成過程,在需要時調(diào)用。成過程,在需要時調(diào)用。 過程是用來執(zhí)行特定任務的程序段代碼。過程是用來執(zhí)行特定任務的程序段

溫馨提示

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

評論

0/150

提交評論