VBScript 腳本編寫
函數和過程一樣都是命名了的代碼塊,但它們卻有很大的區別,過程完成程序任務,函數則返回值。我們可以這樣理解,過程象一個完整的句子,而函數則象一個單詞。舉個例子,當你想獲取某個數的平方根,你只要將該數傳給 VBScript 的 Sqr() 函數,此函數會立即返回該數的平方根。如:
A=sqr(9)
則 A=3。熟練掌握腳本語言的函數將給你編寫 ASP 程序帶來極大的方便,就以上一期結尾處作者佈置給大家的課後練習來説,如果你對腳本語言的函數掌握不夠全面,那麼解決如此之小的一個問題將很有可能花費你相當大的精力。現在讓我們來回顧一下這道課後練習。
“作者正在用 ASP 製作一套基於 WEB 的 BBS 系統,希望能在其中添加一項特殊功能,即當任何用户登陸該 BBS 後都能夠查閲近七天來所有新發布的信息。”
如果你不熟悉 VBScrip,就不會知道 VBScrip 本身提供了一個用來取得日期之間的差或和的函數 DateSerial,它的語法如下:
DateSerial(year, month, day)
如果你要指定一個日期,例如:1998 年 11 月 10 日,那麼 DateSerial 函數中每個參數的取值範圍都應該是可接受的,即日的取值應在 1 和 31 之間,月的取值應在 1 和 12 之間。但是,也可以使用表示某日之前或之後的年、月、日數目的數值表達式為每個參數指定相對日期。以下樣例中使用了數值表達式代替絕對日期。在這裏,DateSerial 函數返回 1998 年 11 月 10 日之前二十年 (1990-20) 零兩個月 (11-2) 又一天 (10-1) 的日期:即 1978 年 9 月 9 日。程序如下:
Datep=DateSerial(1998-20, 11-2,10-1)
對於 year 參數,若取值範圍是從 0 到 99,則被解釋為 1900 到 1999 年。對於此範圍之外的 year 參數,則使用四位數字表示年份(例如 1800 年)。當任何一個參數的取值超出可接受的範圍時,則會適當地進位到下一個較大的時間單位。例如,如果指定了 35 天,則這個天數將被解釋成一個月加上多出來的日數,多出來的日數取決於其年份和月份。但是如果參數值超出 -32,768 到 32,767 的範圍,或者由三個參數指定(無論是直接還是通過表達式指定)的日期超出了可以接受的日期範圍,就會發生錯誤。 當我們瞭解並掌握了函數 DateSerial 的使用方法後,再來看看作者佈置的這道題目,一切就迎刃而解了。下面我將程序中的此部分代碼公佈如下:
itemp=DateSerial(Year(date), month(date), day(date)-7)itemp=DateValue(itemp)sql="Select * from message Where time Between #"&date&"# And #"&itemp&"# "
在這裏我們又接觸到了一組函數 Year,month,day,它們是用來得到一個日期的年、月、日。date 是常數,表示今天日期,而函數 DateValue 則是將字符串變量轉化為日期格式的變量。在本段程序的第三行,我們第一次接觸到了標準的 SQL 查詢語句,這句語句是什麼意思呢?
“Select”是標準的 SQL 數據庫查詢命令,通過 SELECT 語句我們可以在數據庫中檢索數據,並將查詢結果提供給用户,此處的“*”表示查詢該名為“message”的數據庫中的所有記錄,而“where”的作用是設定一個查詢條件,是為了將數據庫中符合條件的記錄取出來,“time”是一個儲存了數據庫中記錄創建日期的變量。將整句語句連起來理解就是:查詢名為 message 的數據庫中的所有記錄,並將其中創建日期在今天和今天以前七日以內的所有記錄存儲在變量 sql 中。可能由於大家第一次接觸 SQL 語句,一時間無法完全理解它的作用,不過不用擔心在今後的章節中作者將專門用一期給大家介紹 SQL 的使用方法。
通過上面的學習,大家應該已經能夠理解函數在程序中的作用,當然我們不必去死背函數,但要做到熟練運用只有一條捷徑 -- 多實踐。接下來讓我們來看看 VBScript 的基本語法。
瞭解編程語言的朋友一定知道在程序中控制程序流程的語句主要可以分為條件語句和循環語句,在 VBScript 中可使用以下條件語句:
語句
Select Case 語句
語句用於計算條件是否為 True 或 False,並且根據計算結果指定要運行的語句。通常,條件是使用比較運算符對值或變量進行比較的表達式, 語句可以按照需要進行嵌套。
讓我們來創建兩個範例文件: 和
將以下語句剪貼到記事簿中,並保存為 ( 注意:請將程序中“<”後的空格去掉 )
〈head> < TITLE>< /TITLE> < /head>< body bgcolor="#FFFFFF"> < form action="" method=get> Your First Name< INPUT NAME="FirstName" MaxLength=20> Your Last Name< INPUT NAME="LastName" MaxLength=20> < INPUT TYPE=submit>< INPUT TYPE=reset> < /form>
則是用 IF 語句判斷用户輸入的`姓名是否為“George Washington”, 並做出相應的反饋。在此我們遇到了一個 ASP 的內建對象 request,通過使用 request 對象可以訪問任何用 HTTP 請求傳遞的信息,包括從 HTML 表格中用 POST 方法或 GET 方法傳遞的參數、cookie 和用户認證。而 QueryString 集合檢索 HTTP 查詢字符串中變量的值,HTTP 查詢字符串由問號 (?) 後的值指定。如:http://localhost/生成值為 "Firstname=George&Lastname=Washington" 的變量名字符串。關於 ASP 對象作者將在今後的幾篇裏重點講述。 語句的一種變形允許您從多個條件中選擇,即添加 ElseIf 子句以擴充 語句的功能,使您可以控制基於多種可能的程序流程。我們將 的程序部分擴充如下:< %fname=lcase(ystring("Firstname")) lname=lcase(ystring("Lastname")) If fname="george" and lname="washington" then %> must be the first president! < % elseIf fname="ronald" and lname="reagan" then %> must be the actor president! < % elseIf fname="jimmy" and lname="carter" then %> must be the peanut farmer president! < % elseIf fname="naoko" or fname="charles" then %> name reminds me of someone,but I am not sure who! < % else %> Hi!Nice to Meet You < % end if %>可以添加任意多個 ElseIf 子句以提供多種選擇。但使用多個 ElseIf 子句經常會使程序變得很累贅。在多個條件中進行選擇的更好方法是使用 Select Case 語句。Select Case 結構提供了 If 結構的一個變通形式,可以從多個語句塊中選擇執行其中的一個。Select Case 語句提供的功能與 語句類似,但是可以使代碼更加簡練易讀。Select Case 結構在其開始處使用一個只計算一次的簡單測試表達式。表達式的結果將與結構中每個 Case 的值比較。如果匹配,則執行與該 Case 關聯的語句塊,我們同樣可以用 Select Case 語句來寫 文件:< % fname=lcase(ystring("Firstname")) lname=lcase(ystring("Lastname")) name=fname+lname Select case name case "georgewashington" e " must be the first president!" case "ronaldreagan" e " must be the actor president!" case "jimmycarter" e " must be the peanut farmer president!" case "naokocharles" e " name reminds me of someone,but I am not sure who!" case else e "Hi!Nice to Meet You" End Select %>請注意 Select Case 結構只計算開始處的一個表達式,並且只計算一次,而 If 結構計算每個 ElseIf 語句的表達式,這些表達式可以各不相同。因此僅當每個 ElseIf 語句計算的表達式都相同時,才可以使用 Select Case 結構代替 If 結構。Select Case 語句也是可以是嵌套的,每一層嵌套的 Select Case 語句必須有與之匹配的 End Select 語句。以上給大家介紹的腳本語言 VBScript 的函數和條件語句的使用方法,由於篇幅的緣故不能詳細展開,希望對ASP 感興趣的朋友,閲讀完本文後進行一定程度的自學和練習。
-
JavaScript數據結構與算法中集合的實現
集合(Set)説起集合,就想起剛進高中時,數學第一課講的就是集合。因此在學習集合這種數據結構時,倍感親切。集合的基本性質有一條:集合中元素是不重複的。因為這種性質,所以我們選用了對象來作為集合的容器,而非數組。雖然數組也能做到所有不重複,但終究過於繁瑣,不如集...
-
網頁設計很糟糕的10個原因
個好的網頁設計,不僅吸引眼球,也是實用的、直觀的、層級簡單卻足夠複雜到保持用户的興趣。但是不好的網頁設計是由很多原因造成的,下面是關於網頁設計很糟糕的10個原因,歡迎閲讀了解!沒有足夠的空白空白可以説是設計中最重要的一部分。它有助於防止用户在瀏覽網站時...
-
PHP開發工程師的具體職責14篇
PHP開發工程師的具體職責1職責:1、對公司新的網站項目、系統項目、小程序項目進行開發;2、維護支持公司現有的網絡和系統平台工作運行;3、按時、獨立、高質量地完成工作,確保相關代碼邏輯的正確性及健壯性;4、開發、維護、升級和優化系統,並能快速定位並及時修復...
-
淺析JavaScript基本類型與引用類型
兩種類型:ECMAScript變量包含兩種不同類型的值:基本類型值、引用類型值;基本類型值:指的是保存在棧內存中的簡單數據段;引用類型值:指的是那些保存在堆內存中的`對象,意思是,變量中保存的實際上只是一個指針,這個指針指向內存中的另一個位置,由該位置保存對象;兩種訪問方...
相關文章
- 有關JavaScript中的prototype.bind()方法介紹
- CSS和JavaScript腳本實例
- 關於Thieving Bird Apes Its Victims的英語作文範文
- 如何在Javascript中為String對象添加trim,ltrim,rtrim方法
- 關於JavaScript substring()的使用方法
- vbscript自動配置IIS代碼
- Time To Stop Worrying About Invasive Species美文欣賞
- JavaScript腳本語言
- JavaScript在Android的WebView中parseInt函數轉換不正確
- 關於VBScript教程 第四課VBScript變量