ASP编程入门进阶03接触脚本程序.docx
《ASP编程入门进阶03接触脚本程序.docx》由会员分享,可在线阅读,更多相关《ASP编程入门进阶03接触脚本程序.docx(9页珍藏版)》请在冰点文库上搜索。
![ASP编程入门进阶03接触脚本程序.docx](https://file1.bingdoc.com/fileroot1/2023-8/13/432631db-2002-4863-9bca-bc521eda0fee/432631db-2002-4863-9bca-bc521eda0fee1.gif)
ASP编程入门进阶03接触脚本程序
ASP编程入门进阶(三):
接触脚本程序
本节重点:
脚本程序的基本语法规范,两种脚本语言的比较
有了前面的html中关于form的强化知识,是不是在想,下面就可以开始ASP之旅呢?
未必。
一般系统学过ASP的编程人员都会切身体会到:
在系统学习ASP的内置对象和内置组件之前,学会脚本语言永远是至关重要的。
为什么这么说呢?
为什么要学脚本语言呢?
ASP和脚本语言又有什么关系呢?
首先说说ASP是贵为何物吧。
ASP是MicrosoftActiveServerPages的简称,它是一种服务器端脚本环境,可用来创建交互式Web页并建立强大的Web应用程序。
可以表明ASP是一种基于服务器端的脚本环境,那就明白ASP为什么需要IIS支持了,因为IIS即为常用的一类web服务器;那也就明白为什么要学脚本语言了,因为ASP提供的是一种脚本环境。
再次需要说明的是,ASP只是一种环境,而非一种语言。
如果真要形象化地说是ASP是网络编程语言的话,那也是属于一个html+脚本+asp提供的内置对象及组件的功能强大的混合语言。
所以,学点脚本非常重要!
其实无论是学脚本语言,还是其它语言,我认为首先需要了解的是该语言涵盖的各类特性,包括:
数据类型、事件、方法、对象、属性、语法等当然这都是些空谈,正如在大学课堂上的某计算机语言课一样,搞纯研究性的就是觉得有些索而无味。
还是实用些的好,能解决问题的程序才是好程序(印证能逮到老鼠的猫就是好猫的经典圣语,呵呵)。
当然,语言这东西还是要你去好好钻研的,比如你写求绝对值的程序,其实一个abs()函数就搞定了。
再比如你会vb脚本,但把同样程序替换成java脚本就会出错,它们的数据类型不同,语句语法也不一样啊。
正如说中文和外文一样,要会发音标(数据类型),会如何发音(方法),如何说成一句话(语法)……呵呵,有点让你难受吧。
行!
直接了当。
你以后需要注意的是语言的函数、语法。
当然也不是让你全看,按照教程中的遇到一个掌握一个。
教程学完,差不多也结束了。
呵呵,你要相信我。
目前有两种主要的脚本语言:
VbScript和javascript。
因为VbScript作为IIS默认的服务器脚本,所以我们所谈所学的基本是围绕VbScript为脚本的ASP的,当然也不排除有的时候使用javascript.
举一个很简单的例子:
--
subbutton1_onclick
msgbox("欢迎使用vbscript!
")
endsub
-->
--
functionb213()
{
alert("欢迎使用javascript!
")
}
-->
vbscript中的Sub就是一个事件过程。
过程名包含两部分:
一部分为按钮名,即Button1(从标记中的NAME
属性获取);另一部分为事件名,即OnClick。
两部分由下划线(_)连接。
单击按钮时,InternetExplorer查找并运行
相应的事件过程,即Button1_OnClick,而MsgBox就是一个函数,对于它更具体的参数,你就好好看下了。
一时来劲,可能大家都看到网上有种狂恶心的对话框组,原理是什么呢?
请看:
msgbox"你知道你会点确定的。
。
。
。
。
。
。
"
msgbox"不点也要点。
。
。
。
。
。
。
。
"
msgbox"没办法是吧。
。
。
。
。
。
。
。
。
。
?
"
msgbox"要不网页打不开啊。
。
。
。
。
。
"
msgbox"这招损人吧。
。
。
。
。
。
。
。
。
"
msgbox"真想揍揍站长。
。
。
。
。
。
。
。
。
"
其实站长用这些玩弄别人的时候,先玩弄了自己:
因为这都是他想出来的啊:
)
呵呵,我没有损大家的意思,只是为了学习。
在来个开页和退页弹出对话框的原理吧!
--
subwindow_onload()
msgbox"welcomeyou!
"
endsub
subwindow_onunload()
msgbox"seeyoulate!
"
endsub
-->
开页显示“welcomeyou!
”,关页显示“seeyoulate!
”
以上只是一个显示对话框msgbox,当然还有书写对话框inputbox也顺便看下吧。
--
dimstrname
strname=inputbox("enteryournameplease:
","enteryourname","cnbruce")
document.write(strname&",welcomeyou!
")
-->
有关inputbox的想关参数也去看看吧。
再来看看几个实用的函数:
len():
返回字符串长度或者变量的字节长度。
lef():
截取一个字符串的前部分内容。
right():
截取一个字符串的后部分内容。
text="1234567890abcdefgh"
i=10
lentext=len(text)
lefttext=left(text,i)
righttext=right(text,i)
alert("文本长度是:
"&lentext)
alert("文本左取"&i&"得的是:
"&lefttext)
alert("文本右取"&i&"得的是:
"&righttext)
根据这几个,经常看到的长文章后面加“......”的情况就是如下:
text="12345678fds90abcdefghxcfv"
i=10
iflen(text)>ithen'如果文本长度大于给定的值
text=left(text,i)'则提取前段的i位的字符串
alert(text&"...")
else
alert(text)
endif
还有个比较重要的函数replace()
在字符串中查找,替代指定的字符串。
replace(strtobesearched,strsearchfor,strreplacewith)
strtobesearched是字符串; strsearchfor是被查找的子字符串;strreplacewith 是用来替代的子字符串。
下面的一个就是很有用的文字转换程序。
text="啊呀,我倒"
text=replace(text,"啊呀","哎呀")
text=replace(text,"倒","DAO")
alert(text&"...")
这些都是比较现实较好玩的些,玩中学习也不错:
)但毕竟我们是要编程的,说到编写程序,我知道程序结构可以分:
1、顺序结构:
就是最普通的,从上往下,从左往右执行的程序。
2、选择结构:
给你两个条件,要不这样(if...then),要不那样(else),任君选择:
)
3、循环结构:
给你一个最大发挥的空间,在不超出这个范围内进行活动(循环),否则自动退出(跳出循环)。
再复杂的程序也无非是由这三种结构综合嵌套运用过来的,你说是吧。
顺序结构没多少要说,因为程序执行基本都是这方向。
来看看选择结构,当然选择结构也可以嵌套。
hello,
--
dimthishour
thishour=hour(time)
ifthishour<=12then
document.bgcolor="red"
document.fgcolor="white"
document.write("上午好!
")
else
ifthishour<=18then
document.bgcolor="blue"
document.fgcolor="white"
document.write("下午好!
")
else
document.bgcolor="green"
document.fgcolor="yellow"
document.write("晚上好!
")
endif
endif
-->
本页的作用是根据不同时间显示不同颜色和欢迎信息。
以上程序很简单吧,只要能认识英文就会懂程序(我是这么理解的:
)
先把现在的小时提交出来:
hour(time);
然后和12比较判断,如果<=12,肯定是上午了,否则就是下午和晚上;
否则里面继续条件判断,如果时间再<=18的话,那肯定就是下午了;
最后,不用说,瞎子猜猜也知道是晚上了:
)
有关上一程序中的document.bgcolor就是文档的背景色,document.fgcolor就是文档的前景色(文字色),下一程序是动态改变背景颜色的。
--
subsetbgcolor(bcolor)
document.bgcolor=bcolor
endsub
-->
有关条件选择结构的嵌套再show出一个表单检测的程序。
abc
--
subbtnsubmit_onclick
ifform1.name.value<>""then
ifform1.addr.value<>""then
ifform1.email.value<>""then
ifinstr(form1.email.value,"@")<>0andinstr(form1.email.value,".")<>0then
form1.submit
else
alert"emailerror!
"
endif
else
alert"enteryouremail!
"
form1.elements("email").focus
endif
else
alert"enteryouraddress!
"
form1.elements("addr").focus
endif
else
msgbox"enteryournameplease!
"
form1.elements("name").focus
endif
endsub
-->
yourname:
youraddr:
youremail:
程序是给出来了,但看起来比较难懂,有时程序执行时间也比较重要,所以得精简程序代码。
正所谓:
写程序容易,写经典程序难啊,那上面的程序还可以换种思维方式。
改用javascript(注:
学的是编程思想,不要太过计较脚本类型)。
abc
--
functionform1_onsubmit()
{
if(document.form1.name.value=="")
{
alert("请设定您的登陆名。
")
document.form1.name.focus()
returnfalse
}
elseif(document.form1.addr.value=="")
{
alert("请填写您的地址。
")
document.form1.addr.focus()
returnfalse
}
elseif(document.form1.email.value=="")
{
alert("请填写您的E-Mail地址。
")
document.form1.email.focus()
returnfalse
}
}
-->
yourname:
youraddr:
youremail:
最后来看下循环结构吧:
1到500可不是一个一个写出来的。
fori=1to500
document.write(i&"
")
next
当然循环不只可以用for,还可以用dowhile...loop等。
反正程序这东西是代替我们少做了许多重复单一无聊的事——只要你合理利用程序。
应该有些成就吧,学语言,学编程就是学语法语义,学编程架构思想。
当然这要你有扎实的本语言的基础,基础是什么?
你知道有哪些函数吗?
你知道怎么用程序怎么判断偶数吗(包含了运算)?
你知道如何进行表单检测吗?
你知道哪三种程序架构吗?
函数参看:
最好再多看看脚本参考手册,开始ASP的上路了。