《Web應(yīng)用開發(fā)技術(shù).ppt》由會員分享,可在線閱讀,更多相關(guān)《Web應(yīng)用開發(fā)技術(shù).ppt(52頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第3章 ASP開發(fā)入門,本章目標(biāo),本章結(jié)束時(shí),學(xué)員能夠: 掌握ASP基本語法 掌握ASP常用內(nèi)置函數(shù),3.1 數(shù)據(jù)類型,ASP只支持一種數(shù)據(jù)類型:variant。variant數(shù)據(jù)類型能力是根據(jù)它存貯的是什么信息來改變的。 數(shù)據(jù)子類型有很多種,都是ASP支持的數(shù)據(jù)類型,雖然在編寫ASP程序的時(shí)候不需要對它進(jìn)行明確的說明,但是為了真正理解數(shù)據(jù)在ASP程序中如何處理,還是希望對數(shù)據(jù)子類型進(jìn)行了解,具體如下表:,3.1 數(shù)據(jù)類型(續(xù)),3.2 常量和變量,常量定義 變量定義 變量的作用域,3.2.1 常量的定義,常量是具有一定含義的名稱,用于代替數(shù)字或字符串,其值從不改變。常量還提供了一種“全局”改
2、變的方法。,3.2.2 變量的定義,變量引用計(jì)算機(jī)內(nèi)存地址,該地址可以存儲ASP運(yùn)行時(shí)可更改的程序信息。使用變量并不需要了解變量在計(jì)算機(jī)內(nèi)存中的地址,只要通過變量名引用變量就可以查看或更改變量的值。 在ASP中,聲明變量有兩種方式:顯式的和隱式的。,3.2.2 變量的定義(續(xù)),3.2.3 變量的作用域,ASP的變量可存在兩個(gè)作用域上:“Script水平”和“Procedure水平”。其中,Script-level代碼在所有的Function或Sub模塊之外。Procedure-level代碼在一個(gè)Function或Sub之內(nèi)。Procedure-level代碼是Script-level代碼的
3、子設(shè)置。因此,任何在函數(shù)或子程序中進(jìn)行的變量說明,可在獨(dú)立的源程序或子程序中被引用。,3.3 數(shù)組,數(shù)組與一般變量的區(qū)別:一般的變量只保存一個(gè)值,數(shù)組可以存儲同種類型的多個(gè)值。在一個(gè)數(shù)組中,每一個(gè)單元有一個(gè)編號,第一個(gè)單元的編號為0。要引用 數(shù)組中的一個(gè)特定的單元只要使用數(shù)組名,接著在括號中寫一個(gè)數(shù)字即可。,3.3 數(shù)組(續(xù)),靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組 數(shù)組可以有兩種形式:靜態(tài)或動(dòng)態(tài)。一個(gè)靜態(tài)數(shù)組在被聲明后設(shè)置了索引數(shù)。動(dòng)態(tài)數(shù)組允許索引數(shù)在運(yùn)行時(shí)變化,當(dāng)開始說明變量時(shí),使用空括?。ǎ9芾韯?dòng)態(tài)數(shù)組時(shí),就需使用ReDim命令。,3.4 運(yùn)算符,算術(shù)運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符 連接運(yùn)算符 運(yùn)算符的優(yōu)
4、先級,3.4.1 算術(shù)運(yùn)算符,3.4.2 關(guān)系運(yùn)算符(續(xù)),3.4.3 邏輯運(yùn)算符,邏輯與關(guān)系真值表,3.4.3 邏輯運(yùn)算符(續(xù)),邏輯或關(guān)系真值表,3.4.3 邏輯運(yùn)算符(續(xù)),邏輯非關(guān)系真值表,3.4.3 邏輯運(yùn)算符(續(xù)),邏輯異或關(guān)系真值表,3.4.3 邏輯運(yùn)算符(續(xù)),3.4.4 連接運(yùn)算符,運(yùn)算符“&”是真正的字符串連接運(yùn)算符。加號“+”也可以用來連接字符串。但我們并不建議用該運(yùn)算符進(jìn)行字符串相加。因?yàn)楫?dāng)“+”運(yùn)算符用于不同子類型的表達(dá)式時(shí),會引起歧義。 例如: “123”456 的結(jié)果不會是“123456”而是579,因?yàn)榧犹柺紫葧徽J(rèn)為是數(shù)學(xué)運(yùn)算符加號,如果表達(dá)式中有數(shù)字,那么系
5、統(tǒng)會把其他的都轉(zhuǎn)化成數(shù)字類型,進(jìn)行加法運(yùn)算。,3.4.5 運(yùn)算符的優(yōu)先級,運(yùn)算符優(yōu)先級用來描述一個(gè)順序,即不同的運(yùn)算符在關(guān)鍵字、運(yùn)算符和變量的組合中的評估值。當(dāng)表達(dá)式包含多個(gè)運(yùn)算符時(shí),將按預(yù)定順序計(jì)算每一部分,這個(gè)順序被稱為運(yùn)算符優(yōu)先級。 可以使用括號超過這種優(yōu)先級順序,強(qiáng)制首先計(jì)算表達(dá)式的某些部分。但是,在括號中仍遵循標(biāo)準(zhǔn)運(yùn)算符優(yōu)先級。,3.4.5 運(yùn)算符的優(yōu)先級(續(xù)),高,高,低,低,,,3.5 控制結(jié)構(gòu),控制結(jié)構(gòu)主要有三大類:順序語句、分支語句和循環(huán)語句。 順序語句是按照程序語句的編寫的先后順序執(zhí)行。 分支語句使程序根據(jù)變量和表達(dá)式的不同值沿這條路徑或者那條路徑執(zhí)行。 循環(huán)語句使程序在滿
6、足某個(gè)條件之前重復(fù)執(zhí)行一個(gè)動(dòng)作。,3.5.1 分支語句,3.5.1 分支語句(續(xù)),3.5.1 分支語句(續(xù)),3.5.2 循環(huán)語句,3.5.2 循環(huán)語句(續(xù)),3.5.2 循環(huán)語句(續(xù)),3.6 中斷,在某些情況下,需要停止執(zhí)行一個(gè)程序流程中的當(dāng)前正在執(zhí)行的邏輯。Exit語句允許改變DoLoop,F(xiàn)orNext,函數(shù)或請求源程序區(qū)的子程序的程序流程。,3.7 函數(shù)和過程的概念,函數(shù) 在ASP中,把帶有返回值的這樣的一段代碼叫做函數(shù)。例如通過編寫一段代碼計(jì)算出一個(gè)自然數(shù)是否是質(zhì)數(shù),返回給調(diào)用程序,由于調(diào)用程序需要知道那個(gè)自然數(shù)是否是質(zhì)數(shù),所以必須要返回一個(gè)值。 過程 把只是執(zhí)行一段代碼而不需要
7、返回值的叫做過程。例如通過編寫一段代碼在數(shù)據(jù)庫中刪除一些符合條件的記錄,調(diào)用的程序并不需要是否刪除完畢了就可以繼續(xù)以后的工作,所以這段代碼不需要告訴調(diào)用程序最后的結(jié)果。,3.7 函數(shù)和過程的概念(續(xù)),函數(shù)的定義方法:,3.7 函數(shù)和過程的概念(續(xù)),函數(shù)的調(diào)用方法:,3.7 函數(shù)和過程的概念(續(xù)),過程的定義方法:,3.7 函數(shù)和過程的概念(續(xù)),過程的調(diào)用方法:,3.8 ASP中的內(nèi)嵌函數(shù),在ASP中提供了一些系統(tǒng)自帶的內(nèi)嵌函數(shù),即不用編寫任何代碼就可以直接使用這些函數(shù),它們大概分為以下幾類: 取整函數(shù) 數(shù)制轉(zhuǎn)換函數(shù) 字符串函數(shù) 日期和時(shí)間函數(shù) 隨機(jī)函數(shù) 類型轉(zhuǎn)換函數(shù),3.8.1 取整函數(shù)
8、,取整函數(shù)Int和Fix函數(shù)都刪除 number 參數(shù)的小數(shù)部分并返回以整數(shù)表示的結(jié)果,3.8.2 數(shù)制轉(zhuǎn)換函數(shù),3.8.3 字符串函數(shù),刪除空白字符函數(shù)ltrim、rtrim 和 trim :返回不帶前導(dǎo)空格 (ltrim)、后續(xù)空格 (rtrim) 或前導(dǎo)與后續(xù)空格 (trim) 的字符串副本。,3.8.3 字符串函數(shù)(續(xù)),字符串截取函數(shù),3.8.3 字符串函數(shù)(續(xù)),字符串長度測試函數(shù),3.8.3 字符串函數(shù)(續(xù)),string 函數(shù)和空格函數(shù),3.8.3 字符串函數(shù)(續(xù)),字符串匹配函數(shù)instr 函數(shù)返回某字符串在另一字符串中第一次出現(xiàn)的位置。,3.8.3 字符串函數(shù)(續(xù)),字母大
9、小寫轉(zhuǎn)換 ucase 函數(shù)返回字符串的大寫形式。 lcase 函數(shù)返回字符串的小寫形式。,3.8.3 字符串函數(shù)(續(xù)),字符串比較函數(shù)strcomp 函數(shù)返回指示字符串比較結(jié)果的值。,3.8.4 日期和時(shí)間函數(shù),3.8.4 日期和時(shí)間函數(shù)(續(xù)),3.8.4 日期和時(shí)間函數(shù)(續(xù)),3.8.5 隨機(jī)函數(shù),rnd 函數(shù)返回一個(gè)隨機(jī)數(shù),3.8.5 隨機(jī)函數(shù)(續(xù)),因每一次連續(xù)調(diào)用 rnd 函數(shù)時(shí)都用序列中的前一個(gè)數(shù)作為下一個(gè)數(shù)的種子,所以對于任何最初給定的種子都會生成相同的數(shù)列。在調(diào)用 rnd 之前,先使用無參數(shù)的 randomize 語句初始化隨機(jī)數(shù)生成器,該生成器具有基于系統(tǒng)計(jì)時(shí)器的種子。,3.8.6 類型轉(zhuǎn)換函數(shù),ASP提供9個(gè)轉(zhuǎn)換函數(shù),以幫助減少運(yùn)行時(shí)間錯(cuò)誤或基于邏輯的錯(cuò)誤。,本章總結(jié),掌握ASP基本語法 掌握ASP常用內(nèi)置函數(shù),