日期:2011-08-14  浏览次数:21006 次

为什么要学脚本语言呢?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" >
</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():截取一个字符串的后部分内容

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

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

<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,"你好","nihao")
text=replace(text,"迎","Ying")
alert (text)
</script>

经常在发送EMAIL时,添加多个地址,中间采用“;”号进行分隔,那具体怎么分解接受过来的多个EMAIL地址呢?采用Split函数:Split 函数从字符串中返回数组。

<script language=vbs>
cnbruce=chinahtml@163.com;chinahtml@gmail.com;chinahtml@hotmail.com
MyArray = Split(webjx, ";")
a=MyArray(0)
b=MyArray(1)
c=My