程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP編程入門進階(三):接觸腳本程序

ASP編程入門進階(三):接觸腳本程序

編輯:關於ASP編程
有了前面的html中關於form的強化知識,是不是在想,下面就可以開始ASP之旅呢?未必。
一般系統學過ASP的編程人員都會切身體會到:在系統學習ASP的內置對象和內置組件之前,學會腳本語言永遠是至關重要的。
為什麼這麼說呢?為什麼要學腳本語言呢?ASP和腳本語言又有什麼關系呢?

首先說說ASP是貴為何物吧。ASP是Microsoft Active Server Pages的簡稱,它是一種服務器端腳本環境,可用來創建交互式 Web 頁並建立強大的 Web 應用程序。可以表明ASP是一種基於服務器端的腳本環境,那就明白ASP為什麼需要IIS支持了,因為IIS即為常用的一類web服務器;那也就明白為什麼要學腳本語言了,因為ASP提供的是一種腳本環境。

再次需要說明的是,ASP只是一種環境,而非一種語言。如果真要形象化地說是ASP是網絡編程語言的話,那也是屬於一個html+腳本+asp提供的內置對象及組件的功能強大的混合語言。

所以,學點腳本非常重要!其實無論是學腳本語言,還是其它語言,我認為首先需要了解的是該語言涵蓋的各類特性,包括:數據類型、事件、方法、 對象、屬性、語法等當然這都是些空談,正如在大學課堂上的某計算機語言課一樣,搞純研究性的就是覺得有些索而無味。還是實用些的好,能解決問題的程序才是好程序(印證能逮到老鼠的貓就是好貓的經典聖語,呵呵)

當然,語言這東西還是要你去好好鑽研的,比如你寫求絕對值的程序,其實一個abs()函數就搞定了。再比如你會vb腳本,但把同樣程序替換成java腳本就會出錯,它們的數據類型不同,語句語法也不一樣啊。正如說中文和外文一樣,要會發音標(數據類型),會如何發音(方法),如何說成一句話(語法)……呵呵,有點讓你難受吧。行!直接了當。你以後需要注意的是語言的函數、語法。當然也不是讓你全看,按照教程中的遇到一個掌握一個。教程學完,差不多也結束了。呵呵,你要相信我。

目前有兩種主要的腳本語言:VbScript和JavaScript。因為VbScript作為IIS默認的服務器腳本,所以我們所談所學的基本是圍繞VbScript為腳本的ASP的,當然也不排除有的時候使用javascript.

舉一個很簡單的例子:


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

一時來勁,可能大家都看到網上有種狂惡心的對話框組,原理是什麼呢?請看:


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

在來個開頁和退頁彈出對話框的原理吧

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

以上只是一個顯示對話框msgbox,當然還有書寫對話框inputbox也順便看下吧。


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

再來看看幾個實用的函數:
len():返回字符串長度或者變量的字節長度 
lef():截取一個字符串的前部分內容
right():截取一個字符串的後部分內容

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

根據這幾個,經常看到的長文章後面加“......”的情況就是如下:


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

還有個比較重要的函數replace()
在字符串中查找,替代指定的字符串
replace(strtobesearched,strsearchfor,strreplacewith)
strtobesearched是字符串; strsearchfor是被查找的子字符串;strreplacewith 是用來替代的子字符串。
下面的一個就是很有用的文字轉換程序

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

經常在發送EMAIL時,添加多個地址,中間采用“;”號進行分隔,那具體怎麼分解接受過來的多個EMAIL地址呢?采用Split函數:Split 函數從字符串中返回數組。

[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

這些都是比較現實較好玩的些,玩中學習也不錯:)但畢竟我們是要編程的,說到編寫程序,我知道程序結構可以分:
1,順序結構:就是最普通的,從上往下,從左往右執行的程序
2,選擇結構:給你兩個條件,要不這樣(if ... then),要不那樣(else),任君選擇:)
3,循環結構:給你一個最大發揮的空間,在不超出這個范圍內進行活動(循環),否則自動退出(跳出循環)。
再復雜的程序也無非是由這三種結構綜合嵌套運用過來的,你說是吧。

順序結構沒多少要說,因為程序執行基本都是這方向。
來看看選擇結構,當然選擇結構也可以嵌套。


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

以上程序很簡單吧,只要能認識英文就會懂程序(我是這麼理解的:)
先把現在的小時提交出來:hour(time);
然後和12比較判斷,如果<=12,肯定是上午了,否則就是下午和晚上;
否則裡面繼續條件判斷,如果時間再<=18的話,那肯定就是下午了;
最後,不用說,瞎子猜猜也知道是晚上了:)

有關上一程序中的document.bgcolor就是文檔的背景色,document.fgcolor就是文檔的前景色(文字色),下一程序是動態改變背景顏色的。


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

有關條件選擇結構的嵌套再show出一個表單檢測的程序


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

程序是給出來了,但看起來比較難懂,有時程序執行時間也比較重要,所以得精簡程序代碼。
正所謂:寫程序容易,寫經典程序難啊,那上面的程序還可以換種思維方式。改用javascript(注:學的是編程思想,不要太過計較腳本類型)


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]


最後來看下循環結構吧:1到500可不是一個一個寫出來的。


[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

當然循環不只可以用for,還可以用do while...loop等
反正程序這東西是代替我們少做了許多重復單一無聊的事——只要你合理利用程序。

應該有些成就吧,學語言,學編程就是學語法語義,學編程架構思想。
當然這要你有扎實的本語言的基礎,基礎是什麼?你知道哪些函數嗎?你知道怎麼用程序怎麼判斷偶數嗎(包含了運算)?你知道如何進行表單檢測嗎?你知道哪三種程序架構嗎?

函數參看:
http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=245

呵呵,把以上的程序吃透,最好再多看看腳本參考手冊,跟我就可以開始ASP的上路了。

補:

Function過程與Sub過程類似,但是Function過程可以返回值。
Function過程也可以使用由調用過程傳遞的常數、變量或表達式作為參數。如果Function過程無任何參數,則Function語句必須包含括號()。
Function過程通過函數名返回一個值,這個值是在過程的語句中賦給函數名。Function返回值的數據類型總是Variant。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved