国产黄色免费网站,人人干人人干人人干,免费大黄网站在线看,国产情侣一区二区三区,99精品国产福利免费一区二区,国产亚洲成归v人片在线观看,伊人88

2023信創(chuàng)獨(dú)角獸企業(yè)100強(qiáng)
全世界各行各業(yè)聯(lián)合起來(lái),internet一定要實(shí)現(xiàn)!

ASP教程4:ASP腳本基礎(chǔ)

2004-02-09 eNet&Ciweek

通過(guò)前兩篇的學(xué)習(xí),相信各位已經(jīng)對(duì) ASP 的動(dòng)態(tài)網(wǎng)站設(shè)計(jì)有了一個(gè)基本的概念和整體的印象。從本篇開(kāi)始作者將從腳本語(yǔ)言的使用著手,由淺入深地帶領(lǐng)大家探索 ASP 動(dòng)態(tài)網(wǎng)站設(shè)計(jì)的真正奧秘。

  本文第二篇刊登后,很多朋友給我發(fā)了“妹兒”,希望能盡快看到本文的第三、第四、乃至第……篇,甚至有位朋友焦急地要我將 ASP 篇的全文發(fā)給他??吹接腥绱酥嘀就篮系呐笥眩钗揖翊笳?。雖然 ASP 早在兩年前就已經(jīng)推出了,但直到今年它才以其靈活便捷的開(kāi)發(fā)過(guò)程、良好的 WEB 數(shù)據(jù)庫(kù)連接功能受到了國(guó)人的重視,然而由于目前國(guó)內(nèi)尚缺乏關(guān)于 ASP 開(kāi)發(fā) WEB 應(yīng)用程序的詳盡教材,因此使得國(guó)內(nèi)廣大 WEB 開(kāi)發(fā)者們?nèi)蕴幵陂]門啃 E 文的階段,也包括作者本人。也正因?yàn)槿绱?,作者才蒙發(fā)了寫(xiě)文章的念頭,在得到 Chinabyte 網(wǎng)絡(luò)學(xué)院翁斌先生的大力支持后,各位才得以見(jiàn)到此文。

  作者殷切希望能通過(guò)此文為廣大 WEB 開(kāi)發(fā)者和愛(ài)好者提供便利,使大家共同來(lái)參加 ASP 的學(xué)習(xí)和交流,為了顧全不同層次讀者的需求作者還是決定從最基本的腳本語(yǔ)言的編制著手,隨后再一步一步地講解 ASP 內(nèi)建對(duì)象、ActiveX 組件以及用 ASP 開(kāi)發(fā) WEB 應(yīng)用程序的實(shí)例,相信通過(guò)一段時(shí)間持續(xù)的學(xué)習(xí),不出幾個(gè)月各位都能夠得心應(yīng)手地開(kāi)發(fā)自己的動(dòng)態(tài)網(wǎng)站。下面就先請(qǐng)大家跟我來(lái)學(xué)習(xí)一些 ASP 中應(yīng)用腳本語(yǔ)言(以 VBScript 為主)的基礎(chǔ)知識(shí)。

  在開(kāi)始學(xué)習(xí)腳本語(yǔ)言之前,你應(yīng)該理解一些簡(jiǎn)單的概念 -- 變量、進(jìn)程。所謂變量是計(jì)算機(jī)內(nèi)存中已命名的存儲(chǔ)位置,其中包含了數(shù)字或字符串等數(shù)據(jù),它使用戶便于理解腳本操作的名稱,為用戶提供了一種存儲(chǔ)、檢索和操作數(shù)據(jù)的途徑。程序是由一個(gè)或多個(gè)進(jìn)程組成的,在 VBScript 中,進(jìn)程就是“指令塊”,通常意義上的進(jìn)程,如 Sub,只是為了簡(jiǎn)單的數(shù)據(jù)處理。
  在 VBScript 中,嚴(yán)格的來(lái)講變量是不用聲明的,

  如:< % Mystring="This is my string" % >

  然而,即使在使用變量前不需要去聲明變量,也應(yīng)養(yǎng)成在編程時(shí)聲明變量的良好習(xí)慣,因?yàn)檫@樣有助于防止錯(cuò)誤發(fā)生。聲明一個(gè)變量意味著告訴腳本引擎,有一個(gè)特定名稱的變量,這樣就可以在腳本中引用該變量。在 VBScript 中聲明一個(gè)變量可以使用“Dim”語(yǔ)句,如下:
   < script language="VBScript" >
   < !--
   Option Explicit ' 要求在腳本中聲明所有的變量
   Dim Mystring
   Mystring="This is my string"
   -- >
   < /script>

  變量的作用域即生命期,決定哪些腳本命令可訪問(wèn)變量。在過(guò)程內(nèi)部聲明的變量具有局部作用域。每執(zhí)行一次過(guò)程,變量就被創(chuàng)建然后消亡。而過(guò)程外部的任何命令都不能訪問(wèn)它。在過(guò)程外部聲明的變量具有全局作用域,其值能被 ASP 頁(yè)上的任何腳本命令訪問(wèn)和修改。聲明變量時(shí),局部變量和全局變量可以有相同的名稱。而改變其中一個(gè)的值并不會(huì)改變另一個(gè)的值。如果沒(méi)有聲明變量,則可能不小心會(huì)改變一個(gè)全局變量的值。例如,以下腳本命令返回值 1,雖然有兩個(gè)名為 Y 變量:
   < %
   Dim YY = 1Call SetLocalVariableResponse.Write Y
   Sub SetLocalVariable
   Dim Y
   Y = 2End Sub % >

  由于變量沒(méi)有顯式聲明,以下的腳本命令將返回 2。當(dāng)過(guò)程調(diào)用將 Y 設(shè)置為 2 時(shí),腳本引擎認(rèn)為該過(guò)程是要修改全局變量:
   <%
   Y = 1Call SetLocalVariableResponse.Write Y
   Sub SetLocalVariable
   Y = 2
   End Sub% >

  然而,全局變量?jī)H在單個(gè) ASP 頁(yè)中可用,要使它在單個(gè) ASP 頁(yè)之外可用,就必須為變量賦予會(huì)話或應(yīng)用程序作用域。會(huì)話作用域變量對(duì)一個(gè)用戶所請(qǐng)求的 ASP 應(yīng)用程序中的所有頁(yè)都是可用的。應(yīng)用程序作用域變量也如此。對(duì)單個(gè)用戶來(lái)說(shuō),會(huì)話變量是存儲(chǔ)信息的最佳途徑,例如,用戶首選項(xiàng)、用戶名或用戶的標(biāo)識(shí)。對(duì)于一個(gè)特殊應(yīng)用程序的所有用戶,應(yīng)用程序作用域是存儲(chǔ)信息的最佳途徑,例如,應(yīng)用程序特定的問(wèn)候語(yǔ)或應(yīng)用程序所需的初始值。ASP 提供兩個(gè)內(nèi)建對(duì)象來(lái)讓您存儲(chǔ)變量:Session 對(duì)象和 Application 對(duì)象,這將在今后的 ASP 內(nèi)建對(duì)象中著重討論。

  讓我們?cè)賮?lái)看看常量的定義,常量是用來(lái)代替一個(gè)數(shù)或字符串的名稱,它在整個(gè)腳本中保持不變。您可以使用 Const 語(yǔ)句在 VBScript 中創(chuàng)建用戶自定義常數(shù)。使用 Const 語(yǔ)句可以創(chuàng)建名稱具有一定含義的字符串型或數(shù)值型常數(shù),并給它們賦原義值。例如:。
  如:< % Const mystring=" 這是一個(gè)常量 " % >

   < % Const myage=100 % >

  請(qǐng)注意字符串文字包含在兩個(gè)引號(hào) (" ") 之間。這是區(qū)分字符串型常數(shù)和數(shù)值型常數(shù)的最明顯的方法。日期文字和時(shí)間文字包含在兩個(gè)井號(hào) (#) 之間。例如:
   < % Const CutoffDate = #6-1-97# % >

  在理解了常量和變量之后,我們來(lái)看看什么是過(guò)程。它是一組能執(zhí)行指定任務(wù)且具有返回值的腳本命令。您可以定義自己的過(guò)程,然后在腳本中反復(fù)調(diào)用它們。您可以將過(guò)程定義放在調(diào)用過(guò)程的 .asp 文件中,也可以將通用過(guò)程放在一個(gè)共享的 .asp 文件中,然后用 SSI #include 指令將其包含進(jìn)其他調(diào)用其過(guò)程的 .asp 文件中。您還可選擇另一種方法,即把這些功能打包在 ActiveX 組件中。過(guò)程定義可出現(xiàn)在 < SCRIPT > 和 < /SCRIPT > 標(biāo)記內(nèi)部且必須遵循聲明腳本語(yǔ)言的規(guī)則。如果過(guò)程所用的語(yǔ)言與主腳本語(yǔ)言不同,則要使用 < SCRIPT > 元素。主腳本語(yǔ)言中的過(guò)程用腳本分界符 (< % 和 % >) 分隔。用 HTML< SCRIPT > 標(biāo)記時(shí),必須使用兩個(gè)屬性來(lái)保證服務(wù)器端能夠處理腳本。使用 < SCRIPT > 標(biāo)記的語(yǔ)法如下:

   < SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT >
   procedure definition
   < /SCRIPT >

  這里的 RUNAT=SERVER 屬性通知 Web 服務(wù)器在服務(wù)器上處理腳本。若不設(shè)置該屬性,腳本將由客戶端瀏覽器處理。LANGUAGE 屬性決定此腳本塊所用的腳本語(yǔ)言。您可以指定任何一種具有腳本引擎的語(yǔ)言。請(qǐng)使用 VBSCRIPT 指定 VBScript;用 JSCRIPT 指定 JScript。若不設(shè)置 LANGUAGE 屬性,將用主腳本語(yǔ)言解釋此腳本塊。

  在 VBScript 中,過(guò)程被分為兩類:Sub 過(guò)程和 Function 過(guò)程。Sub 過(guò)程是包含在 Sub 和 End Sub 語(yǔ)句之間的一組 VBScript 語(yǔ)句,執(zhí)行操作但不返回值。Sub 過(guò)程可以使用參數(shù)(由調(diào)用過(guò)程傳遞的常數(shù)、變量或表達(dá)式)。如果 Sub 過(guò)程無(wú)任何參數(shù),則 Sub 語(yǔ)句必須包含空括號(hào) ()。

   Function 過(guò)程是包含在 Function 和 End Function 語(yǔ)句之間的一組 VBScript 語(yǔ)句。Function 過(guò)程與 Sub 過(guò)程類似,但是 Function 過(guò)程可以返回值。Function 過(guò)程可以使用參數(shù)(由調(diào)用過(guò)程傳遞的常數(shù)、變量或表達(dá)式)。如果 Function 過(guò)程無(wú)任何參數(shù),則 Function 語(yǔ)句必須包含空括號(hào) ()。Function 過(guò)程通過(guò)函數(shù)名返回一個(gè)值,這個(gè)值是在過(guò)程的語(yǔ)句中賦給函數(shù)名的。Function 返回值的數(shù)據(jù)類型總是 Variant。在下面的示例中 Sub 過(guò)程使用兩個(gè)固有的(或內(nèi)置的)VBScript 函數(shù),即 MsgBox 和 InputBox,來(lái)提示用戶輸入信息。然后顯示根據(jù)這些信息計(jì)算的結(jié)果。計(jì)算由使用 VBScript 創(chuàng)建的 Function 過(guò)程完成,Celsius 函數(shù)將華氏度換算為攝氏度。Sub 過(guò)程 ConvertTemp 調(diào)用此函數(shù)時(shí),包含參數(shù)值的變量被傳遞給函數(shù)。換算結(jié)果返回到調(diào)用過(guò)程并顯示在消息框中。

   Sub ConvertTemp()
   temp = InputBox(" 請(qǐng)輸入華氏溫度。", 1)
   MsgBox " 溫度為 " & Celsius(temp) & " 攝氏度。"
   End Sub
   Function Celsius(fDegrees)
   Celsius = (fDegrees - 32) * 5 / 9
   End Function

  給過(guò)程傳遞數(shù)據(jù)的途徑是使用參數(shù)。參數(shù)被作為要傳遞給過(guò)程的數(shù)據(jù)的占位符。參數(shù)名可以是任何有效的變量名。使用 Sub 語(yǔ)句或 Function 語(yǔ)句創(chuàng)建過(guò)程時(shí),過(guò)程名之后必須緊跟括號(hào)。括號(hào)中包含所有參數(shù),參數(shù)間用逗號(hào)分隔。例如,在下面的示例中,fDegrees 是傳遞給 Celsius 函數(shù)的值的占位符:
   Function Celsius(fDegrees)
   Celsius = (fDegrees - 32) * 5 / 9
   End Function

  要從過(guò)程獲取數(shù)據(jù),必須使用 Function 過(guò)程。請(qǐng)記住,F(xiàn)unction 過(guò)程可以返回值;Sub 過(guò)程不返回值。

  以上給大家簡(jiǎn)要介紹了 VBScript,由于篇幅的原因,作者不可能在此詳盡介紹 VBScript 的所有知識(shí)。但是由于 ASP 本身并不是一種編程語(yǔ)言,因此在大家編寫(xiě) ASP 應(yīng)用程序的過(guò)程中,必須借助腳本語(yǔ)言來(lái)實(shí)現(xiàn)許多特殊的功能,所以靈活熟練地掌握腳本語(yǔ)言對(duì)一個(gè)使用 ASP 編寫(xiě) WEB 應(yīng)用程序的程序員來(lái)說(shuō)是至關(guān)重要的。無(wú)論您是一個(gè)有豐富編程經(jīng)驗(yàn)的高手還是一個(gè)初學(xué)者,只要您現(xiàn)在希望通過(guò) ASP 編寫(xiě) WEB 應(yīng)用程序,作者極力建議您掌握至少一門腳本語(yǔ)言(如 VBScript)。在本篇的末尾作者將留一道課后作業(yè)給大家,希望各位能通過(guò)自學(xué)有關(guān)書(shū)籍并在實(shí)踐中迅速掌握腳本語(yǔ)言。
  課后作業(yè):

  作者正在用 ASP 制作一套基于 WEB 的 BBS 系統(tǒng),作者希望能在其中添加一項(xiàng)特殊功能,即當(dāng)任何用戶登陸該 BBS 后都能夠查閱近七天來(lái)所有新發(fā)布的信息。由于 ASP 本身的內(nèi)建對(duì)象和組件并沒(méi)有提供此項(xiàng)功能,因此作者請(qǐng)大家從 VBScript 著手,來(lái)設(shè)計(jì)這樣一個(gè)功能。如有任何疑問(wèn)請(qǐng) EMAIL 作者,答案將在下一篇公布。敬請(qǐng)關(guān)注。

相關(guān)頻道: eNews

您對(duì)本文或本站有任何意見(jiàn),請(qǐng)?jiān)谙路教峤?,謝謝!

投稿信箱:tougao@enet16.com