有了前面的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。