亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2007年01月03日 00:00:00   投稿:mdxy-dxy  
這篇文章主要介紹了ASP編程入門進階(三):接觸腳本程序

有了前面的html中關(guān)于form的強化知識,是不是在想,下面就可以開始ASP之旅呢?未必。
一般系統(tǒng)學(xué)過ASP的編程人員都會切身體會到:在系統(tǒng)學(xué)習(xí)ASP的內(nèi)置對象和內(nèi)置組件之前,學(xué)會腳本語言永遠是至關(guān)重要的。
為什么這么說呢?為什么要學(xué)腳本語言呢?ASP和腳本語言又有什么關(guān)系呢?

首先說說ASP是貴為何物吧。ASP是Microsoft Active Server Pages的簡稱,它是一種服務(wù)器端腳本環(huán)境,可用來創(chuàng)建交互式 Web 頁并建立強大的 Web 應(yīng)用程序??梢员砻鰽SP是一種基于服務(wù)器端的腳本環(huán)境,那就明白ASP為什么需要IIS支持了,因為IIS即為常用的一類web服務(wù)器;那也就明白為什么要學(xué)腳本語言了,因為ASP提供的是一種腳本環(huán)境。

再次需要說明的是,ASP只是一種環(huán)境,而非一種語言。如果真要形象化地說是ASP是網(wǎng)絡(luò)編程語言的話,那也是屬于一個html+腳本+asp提供的內(nèi)置對象及組件的功能強大的混合語言。

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

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

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

舉一個很簡單的例子:

<script language="vbscript"> <!-- sub button1_onclick msgbox (" 歡迎使用vbscript! " ) end sub --> </script> <script language="javascript"> <!-- function b213() { alert("歡迎使用javascript!") } --> </script> <form> <input type="button" name="button1" value="vbs"><br> <input type="button" name="button2" value="js" onclick="b213()"> </form> vbscript中的Sub 就是一個事件過程。過程名包含兩部分:一部分為按鈕名,即 Button1(從 < INPUT > 標記中的 NAME 屬性獲取);另一部分為事件名,即 OnClick。兩部分由下劃線 (_) 連接。單擊按鈕時,Internet Explorer 查找并運行相應(yīng)的事件過程,即 Button1_OnClick,而MsgBox 就是一個函數(shù),對于它更具體的參數(shù),你就好好看下了。
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

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

<script language="vbscript"> msgbox"你知道你會點確定的。。。。。。。" msgbox"不點也要點。。。。。。。。" msgbox"沒辦法是吧。。。。。。。。。。?" msgbox"要不網(wǎng)頁打不開啊。。。。。。" msgbox"這招損人吧。。。。。。。。。" msgbox"真想揍揍站長。。。。。。。。。" </script> 其實站長用這些玩弄別人的時候,先玩弄了自己:因為這都是他想出來的?。海?呵呵,我沒有損大家的意思,只是為了學(xué)習(xí)。
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

在來個開頁和退頁彈出對話框的原理吧
<script language="vbscript"> <!-- sub window_onload() msgbox"welcome you!" end sub sub window_onunload() msgbox"see you late!" end sub --> </script> 開頁顯示“welcome you!”,關(guān)頁顯示“see you late!”
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

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

<script language="vbscript"> <!-- dim strname strname=inputbox("enter your name please:","enter your name","cnbruce") document.write(strname&",welcome you!<p>") --> </script> 有關(guān)inputbox的想關(guān)參數(shù)也去看看吧。
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

再來看看幾個實用的函數(shù):
len():返回字符串長度或者變量的字節(jié)長度 
lef():截取一個字符串的前部分內(nèi)容
right():截取一個字符串的后部分內(nèi)容
<script language=vbs> text="1234567890abcdefgh" i=10 lentext=len(text) lefttext=left(text,i) righttext=right(text,i) alert ("文本長度是:"&lentext) alert ("文本左取"&i&" 得的是:"&lefttext) alert ("文本右取"&i&" 得的是:"&righttext) </script>
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

根據(jù)這幾個,經(jīng)??吹降拈L文章后面加“......”的情況就是如下:

<script language=vbs> text="123 4567 8fds90 abcde fghxcfv" i=10 if len(text)>i then '如果文本長度大于給定的值 text=left(text,i) '則提取前段的i位的字符串 alert (text&"...") else alert (text) end if </script>
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

還有個比較重要的函數(shù)replace()
在字符串中查找,替代指定的字符串
replace(strtobesearched,strsearchfor,strreplacewith)
strtobesearched是字符串; strsearchfor是被查找的子字符串;strreplacewith 是用來替代的子字符串。
下面的一個就是很有用的文字轉(zhuǎn)換程序
<script language=vbs> text="哇哦,耶耶" text=replace(text,"哇哦","YY") text=replace(text,"耶","YE") alert (text) </script>
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

經(jīng)常在發(fā)送EMAIL時,添加多個地址,中間采用“;”號進行分隔,那具體怎么分解接受過來的多個EMAIL地址呢?采用Split函數(shù):Split 函數(shù)從字符串中返回數(shù)組。
<script language=vbs> cnbruce="cnbruce@126.com;cnbruce@it365cn.com;root@cnbruce.com" MyArray = Split(cnbruce, ";") a=MyArray(0) b=MyArray(1) c=MyArray(2) alert(a) alert(b) alert(c) </script>
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

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

順序結(jié)構(gòu)沒多少要說,因為程序執(zhí)行基本都是這方向。
來看看選擇結(jié)構(gòu),當然選擇結(jié)構(gòu)也可以嵌套。

<body> hello, <script language="vbscript"> <!-- dim thishour thishour=hour(time) if thishour<=12 then document.bgcolor="red" document.fgcolor="black" document.write("上午好!") else if thishour<=18 then document.bgcolor="blue" document.fgcolor="white" document.write("下午好!") else document.bgcolor="green" document.fgcolor="yellow" document.write("晚上好!") end if end if --> </script> 本頁的作用是根據(jù)不同時間顯示不同顏色和歡迎信息。 </body>
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

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

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

<script language="vbscript"> <!-- sub setbgcolor(bcolor) document.bgcolor=bcolor end sub --> </script> <form> <input type="radio" name="color" onclick=setbgcolor("red")>red<br> <input type="radio" name="color" onclick=setbgcolor("green")>green<br> <input type="radio" name="color" onclick=setbgcolor("blue")>blue<br> <input type="radio" name="color" onclick=setbgcolor("yellow")>yellow<br> <input type="radio" name="color" onclick=setbgcolor("gray")>gray<br> </form>
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

有關(guān)條件選擇結(jié)構(gòu)的嵌套再show出一個表單檢測的程序

<html><head><title>abc</title> <script language="vbscript"> <!-- sub btnsubmit_onclick if form1.name.value<>"" then if form1.addr.value<>"" then if form1.email.value<>"" then if instr(form1.email.value,"@")<>0 and instr(form1.email.value,".")<>0 then form1.submit else alert"email error!" end if else alert "enter your email!" form1.elements("email").focus end if else alert "enter your address!" form1.elements("addr").focus end if else msgbox "enter your name please!" form1.elements("name").focus end if end sub --> </script> </head> <body> <form name="form1" method=post action="bug.html"> your name:<input type="text" name="name"><br> your addr:<input type="text" name="addr"><br> your email:<input type="text" name="email"><br> <input type="button" name="btnsubmit" value="submit"> </form> </body> </html>
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

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

<html><head><title>abc</title> <script language="javascript"> <!-- function form1_onsubmit() { if (document.form1.name.value=="") { alert("請設(shè)定您的登陸名。") document.form1.name.focus() return false } else if(document.form1.addr.value=="") { alert("請?zhí)顚懩牡刂贰?quot;) document.form1.addr.focus() return false } else if(document.form1.email.value=="") { alert("請?zhí)顚懩腅-Mail地址。") document.form1.email.focus() return false } } --> </script> </head> <body> <form name="form1" onsubmit="return form1_onsubmit()"> your name:<input type="text" name="name"><br> your addr:<input type="text" name="addr"><br> your email:<input type="text" name="email"><br> <input type="submit" name="submit" value="submit"> </form> </body> </html>
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]


最后來看下循環(huán)結(jié)構(gòu)吧:1到500可不是一個一個寫出來的。

<script language=vbs> for i= 1 to 500 document.write(i&"<br>") next </script>
[Ctrl+A 全部選擇進行拷貝 提示:可先修改部分代碼,再點擊運行]

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

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

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

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

補:

Function過程與Sub過程類似,但是Function過程可以返回值。
Function過程也可以使用由調(diào)用過程傳遞的常數(shù)、變量或表達式作為參數(shù)。如果Function過程無任何參數(shù),則Function語句必須包含括號()。
Function過程通過函數(shù)名返回一個值,這個值是在過程的語句中賦給函數(shù)名。Function返回值的數(shù)據(jù)類型總是Variant。

相關(guān)文章

最新評論