当前位置:编程学习 > asp >>

Web网页上使用VBScript和JScript

答案:

综述:本文讨论了VBScript和 JScript之间的区别,以及它们的使用场合。本文还讨论了:

l         Visual InterDev中的VBScript 和JScript

l         内联服务器脚本和<Script>单元

l         脚本执行顺序

    如果你要编写一个Web网页就必须要编写一些脚本。幸运的是,你可以从几种脚本编写语言中选择一个。不幸的是,有这么多种语言可以选择,到底选哪一种呢?你应该怎么做?

    或者,如果你获得了一个网页,它的脚本是用一种你不怎么使用的脚本语言编写的,你怎样才能够用这个脚本来增加一些新的功能呢?

    在本文中,我将会讨论到这些问题。而首先,我会指导你如何用微软公司所提供的这两种脚本编写语言来进行工作。

Microsoft? Visual Basic?, Scripting Edition (VBScript).

    JScript?,它是ECMAScript的Microsoft版本,是一组包括JScript 和JavaScript脚本编写语言的标准定义。

    当然,还有其他的脚本编写语言,如Perl 和Rexx等。不过这里我着重介绍两种语言,微软公司在Internet Explorer和Internet Information Server (IIS)中为它们提供了ActiveX? Scripting Language(ActiveX脚本编辑语言)引擎。

    我还要讨论你何时需要在同一个网页中使用这两种语言(如你所见,这是完全可行的)。为了对你有所帮助,我列出了一系列有关的小问题,这些问题在你工作时必须牢记于心。

    为了清楚地论述这个问题,我将从以下几个方面着手:

l         VBScript 和JScript之间的区别

l         如何在Visual InterDev中确定脚本语言?

l         在同一个网页中应用两种语言

l         更新脚本编辑语言

l         VBScript 和JScript之间的区别

    VBScript 和JScript之间最大的区别是它们的结构。VBScript 是Visual Basic的子集,如果你曾经用过Visual Basic或者是Visual Basic for Applications (VBA),你就会觉得非常熟悉。不过它们并不是完全一样的,因为VBScript是特意为在浏览器中进行工作而设计的,它不包括一些在脚本这个范围以外的特性,如文件访问和打印等等。

    而另一方面,JScript从一组编程语言如C, C++, 以及Java等之中脱离出来的。如果你以前曾经用过C或者是Java,那么JScript的结构你会觉得非常熟悉。即便你不知道这些语言也没有关系,JScript的结构一点也不难——它像C和Java一样方便而没有它们那么复杂。

注意:不管怎样,JScript和Java是完全不同的两种语言。Java是一种对于网页应用程序和非网页应用程序都可以使用的完全成熟的开发语言。而JScript是一种主要用于脚本编写的脚本语言。

    JScript 和VBScript的任务是相同的——都是让你能够编写自己的Web网页。每种语言都支持一些别的语言不支持的特性,不过,这些差异还不足以自动划分两种语言的使用范围。

    更有可能的是,你会基于一些其他因素来选择脚本语言,最大的原因也是最实际的原因:你将要使用的平台能够支持你所选择的语言吗?你编写的是客户端还是服务器?如果是服务器,你的用户会使用什么浏览器和服务器软件?

    下面的文章中会详细介绍这两种脚本编写语言,并且会就在特殊的环境中选择什么样的脚本语言给出一点指导意见。

什么时候选择VBScript?

    VBScript主要是用在微软公司的各种平台上。因此如果你想用VBScript来进行编写,你必须要使用下列几种脚本之一:

    服务器脚本。如果你想要用VBScript来编写服务器脚本(如在ASP网页中),这个服务器必须是Microsoft Internet Information Server (IIS)或者是其他的服务器。

    客户端脚本。如果你想在浏览器脚本中用到VBScript,这个浏览器必须是Internet Explorer的一个版本。因为其他流行的浏览器可能不支持VBScript。

    如果你使用的是Visual InterDev,那么你应该已经在使用IIS了(或是其他相同的服务器),因而用VBScript来编写服务器脚本不是问题。如果你使用的不是IIS,你要搞清楚该服务器是不是能够支持VBScript。

    然而,如果你要建立的是一个公共Web站点,你无法控制其他人使用的浏览器,那么Internet Explorer只能用于客户端脚本这个限制就成问题了。不过,如果你是在浏览器已知的情况下用VBScript编写客户端脚本,这还是可行的。

    如果你的目标平台能够支持VBScript,考虑一下下列因素再决定是否用VBScript来编写脚本:

错误控制。在VBScript中有On Error Resume Next来对特殊情况给出说明。如果你编写的是服务器脚本,错误控制是非常重要的,因为脚本的运行是无人照顾的。

格式化。VBScript有这样的功能,能够轻易地把数据,数字和货币数据格式化。

在Internet Explorer中事件控制很方便,就像在Visual Basic中一样。在VBScript中也能够建立一个隐含的事件处理程序,这只需要用对象__事件结构形式来定义一项功能就行了,比如说Button1_onclick。不过在Internet Explorer中,JScript没有这项功能(但在其他的JScript主机上支持这项功能)

什么时候选择JScript?

    几乎所有允许编写脚本的浏览器都支持JScript。因此,如果你是为一个公共Web站点编写一个广泛散发的应用程序,用JScript来编写客户端脚本是很自然的选择。你还会发现,因为JScript应用得如此广泛(还有与它类似的JavaScript),是一种标准的脚本语言,你可以在书店里,也可以在网上找到很多有关的资源。

    如果你想用JScript来编写服务器脚本,那么你应该检查一下你的服务器是否支持它。微软公司的IIS允许你用JScript来编写ASP网页的脚本,但这并不是所有的服务器都支持的。

影响到你做决定的其他因素还有:

动态执行。JScript一个非常有力的特性是:它允许你在你的脚本内建立和执行脚本或者动态地进行评价。简而言之,在你的脚本中能够编写脚本。当你用DHTML进行工作时,这个特性是非常有用的,因为这样你就能够动态的操作DHTML的文档模型了。

面向对象。JScript使用的是一种基于原型的对象结构,它能够允许你在脚本中定义对象。你能够往对象的原型中加入方法和特性,扩展内置对象和定制对象。

    使用JScript时的一个警告:JScript是区分大小写的,如果你仅仅使用过Visual Basic 或VBScript也许对此难以适应。

    如果你是初学JScript,你还要知道如何用JScript来建立事件处理程序。在Internet Explorer 中,JScript会要求你链接到一个对象上,而这个对象又是与事件处理程序相连的。通常,只要在鉴别事件并且有处理程序功能的对象的标签栏中指明其属性就能够完成。如下例所示:

    在其他的主机上,你可以使用隐含的事件绑定,不过它要求的结构与VBScript中稍稍有所不同。在JScript中约定的隐含处理程序是:

<SCRIPT LANGUAGE="JavaScript">

function btnSave::onclick(){

// script here

}

</SCRIPT>

    值得注意的是,在这两个例子中LANGUAGE这项属性是设置为“JavaScript”的。Internet Explorer对于"JScript" 和"JavaScript"这两个名字都认识,而许多其他的浏览器却只认识"JavaScript",不认识"JScript" 。因此,为了保险起见,如果你不能确定该网页是用Internet Explorer来浏览,你最好用"JavaScript"。

要了解更多在JScript中建立事件处理程序的情况,请查看位于MSDN Library Online中的Microsoft Visual InterDev?文档。(要访问MSDN Library Online必须有MSDN Online Membership资格,这一资格是免费的,不过要简单的一次性的注册一下。

如何在Visual InterDev中明确所用的脚本编写语言?

    不管你用什么语言来编写脚本,你必须要明确的指出来,这样主机才知道用什么脚本引擎来处理你的脚本。到底用什么语言来编写,取决于你是用内联服务器脚本来进行工作还是用<SCRIPT>块来工作(不管是客户端脚本还是服务器脚本),同时也取决于你所使用的Visual InterDev的版本。

为内联服务器脚本选择脚本语言

    如果你使用的是IIS和ASP网页,你可以编写两类服务器脚本:内联脚本(在<% %>分隔符中的脚本)和在<SCRIPT>单元中的脚本。一般来说,用内联脚本你可以把结果插入到网页中的HTML中。相反,在<SCRIPT>单元中的脚本是用来建立从内联脚本中调用的功能和子程序的。

注意:要建立一个在<SCRIPT>单元中的脚本并让它运行起来像内联脚本也是可能的。也就是说,脚本所陈述的不是一项功能或者某个子程序的一部分。不过我们并不推荐这种做法。要知道更多的细节请看本文后面部分的“服务器脚本执行顺序”。

    对于服务器和客户端脚本来说,为<SCRIPT>单元选择语言的方法是一样的。要知道详细情况请见本文后面部分的“为一个 <SCRIPT> 单元设置语言”。

    在

上一个:提升ASP性能,给程序加速
下一个:动态伸缩层次列表的主页

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,