欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

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

舉一個(gè)很簡(jiǎn)單的例子:

<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 就是一個(gè)事件過程。過程名包含兩部分:一部分為按鈕名,即 Button1(從 < INPUT > 標(biāo)記中的 NAME 屬性獲?。涣硪徊糠譃槭录?,即 OnClick。兩部分由下劃線 (_) 連接。單擊按鈕時(shí),Internet Explorer 查找并運(yùn)行相應(yīng)的事件過程,即 Button1_OnClick,而MsgBox 就是一個(gè)函數(shù),對(duì)于它更具體的參數(shù),你就好好看下了。
[Ctrl+A 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

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

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

在來個(gè)開頁和退頁彈出對(duì)話框的原理吧
<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 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

以上只是一個(gè)顯示對(duì)話框msgbox,當(dāng)然還有書寫對(duì)話框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 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

再來看看幾個(gè)實(shí)用的函數(shù):
len():返回字符串長度或者變量的字節(jié)長度 
lef():截取一個(gè)字符串的前部分內(nèi)容
right():截取一個(gè)字符串的后部分內(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ìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

根據(jù)這幾個(gè),經(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 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

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

經(jīng)常在發(fā)送EMAIL時(shí),添加多個(gè)地址,中間采用“;”號(hào)進(jìn)行分隔,那具體怎么分解接受過來的多個(gè)EMAIL地址呢?采用Split函數(shù):Split 函數(shù)從字符串中返回?cái)?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 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

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

順序結(jié)構(gòu)沒多少要說,因?yàn)槌绦驁?zhí)行基本都是這方向。
來看看選擇結(jié)構(gòu),當(dāng)然選擇結(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ù)不同時(shí)間顯示不同顏色和歡迎信息。 </body>
[Ctrl+A 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

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

有關(guān)上一程序中的document.bgcolor就是文檔的背景色,document.fgcolor就是文檔的前景色(文字色),下一程序是動(dòng)態(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 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

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

<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 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

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

<html><head><title>abc</title> <script language="javascript"> <!-- function form1_onsubmit() { if (document.form1.name.value=="") { alert("請(qǐng)?jiān)O(shè)定您的登陸名。") document.form1.name.focus() return false } else if(document.form1.addr.value=="") { alert("請(qǐng)?zhí)顚懩牡刂贰?quot;) document.form1.addr.focus() return false } else if(document.form1.email.value=="") { alert("請(qǐng)?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 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]


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

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

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

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

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

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

補(bǔ):

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

相關(guān)文章

最新評(píng)論