日期:2008-08-10  浏览次数:20947 次

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

  举一个很简单的例子:


<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 查找并运行
相应的事件过程,即 Button1_OnClick,而MsgBox 就是一个函数,对于它更具体的参数,你就好好看下了。

  一时来劲,可能大家都看到网上有种狂恶心的对话框组,原理是什么呢?请看:


<script language="vbscript">
msgbox"你知道你会点确定的。。。。。。。"
msgbox"不点也要点。。。。。。。。"
msgbox"没办法是吧。。。。。。。。。。?"
msgbox"要不网页打不开啊。。。。。。"
msgbox"这招损人吧。。。。。。。。。"
msgbox"真想揍揍站长。。。。。。。。。"
</script>
其实站长用这些玩弄别人的时候,先玩弄了自己:因为这都是他想出来的啊:)
呵呵,我没有损大家的意思,只是为了学习。

  在来个开页和退页弹出对话框的原理吧!


<script language="vbscript">
<!--
sub window_onload()
msgbox"welcome you!"
end sub
sub window_onunload()
msgbox"see you late!"
end sub
-->
</script>
开页显示“welcome you!”,关页显示“see you late!”

  以上只是一个显示对话框msgbox,当然还有书写对话框inputbox也顺便看下吧。


<script language="vbscript">
<!--
dim strname
strname=inputbox("enter your name please:","enter your name","cnbruce")
document.write(strname&",welcome you!<p>")
-->
</script>
有关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)
</script>

  根据这几个,经常看到的长文章后面加“......”的情况就是如下:


<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>

  还有个比较重要的函数replace()
  在字符串中查找,替代指定的字符串。
  replace(strtobesearched,strsearchfor,strreplacewith)
  strtobesearched是字符串; strsearchfor是被查找的子字符串;strreplacewith 是用来替代的子字符串。
  下面的一个就是很有用的文字转换程序。


<script language=vbs>
text="妈的,我靠"

text=replace(text,"妈的","MD")
text=replace(text,"靠","KAO")
alert (text&"...")

</script>

<