使用VBScript和JScript编写WEB应用程序(一)

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
使用 VBScriptJScript 编写 WEB应用 程序

我心飞扬

写这篇文章的动机是看到了大家对 VBScript和javascript的讨论以及另一片类似的文章,觉得有必要将大家的想法加以整理:-),并将我在工作中产生的一些心得拿出来和大家分享,希望对大家有所帮助。当然,水平有限,错误在所难免。


active server pages是microsoft windows dna的重要组成部分,使用asp我们可以很容易的构造功能强大的基于 WEB的应用。有很多脚本 编写语言可供我们进行asp创作,如: VBScript、javascript、perl 和rexx等,你可以从几种脚本 编写语言中选择一个。本文中我们讨论微软公司所提供的两种脚本 编写语言:
VBScript
JScript

首先,我想讨论的是:

一、什么时候使用 VBScriptJScript,以及两者之间的区别

VBScript 是visual basic的子集,全称是microsoft visual basic scripting edition。如果你曾经用过visual basic或者是visual basic for applications (vba),你就会觉得非常熟悉。不过它们并不完全一样,因为 VBScript是特意为在 WEB中进行工作而设计的。

JScript是ecmascript的microsoft版本,是一组包括 JScript 和javascript脚本 编写语言的标准定义。 JScript从一组编程语言如c, c++, 以及java等之中脱离出来的。如果你以前曾经用过c或者是java,那么 JScript的结构你会觉得非常熟悉。即便你不知道这些语言也没有关系, JScript的结构一点也不难,它像c和java一样方便而没有它们那么复杂。

微软公司在internet explorer和internet information server (iis)中为它们提供了activex scripting language(activex脚本编辑语言)引擎(比如 VBScript.dll、 JScript.dll)。

那么,什么时候选择何种语言?
我们知道,进行asp开发无外乎要 编写下列两种脚本之一:

1)服务器脚本:
在asp页面中为iis 编写服务器脚本,无论使用那种语言都没有问题。并且微软公司的visual interdev对它们支持的都很好。

2)客户端脚本:
如果你想在浏览器脚本中使用 VBScript,那么浏览器必须是internet explorer的某个版本。因为其他浏览器可能不支持 VBScript。如果要建立一个公共 WEB站点,你无法预知用户使用的是什么浏览器,那么 VBScript只能用于internet explorer这个限制就成问题了。
几乎所有允许 编写脚本的浏览器都支持 JScript。因此,如果为一个公共 WEB站点 编写应用 程序,用 JScript编写客户端脚本是很自然的选择。

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

1、错误控制
VBScript中有on error 错误陷阱来对错误情况进行控制,如:on error resume next。如果你 编写的是服务器脚本,错误控制非常重要,因为脚本的运行是无人照顾的。 JScript没有这种机制。

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

3、动态执行
JScript一个非常有力的特性是:它允许你在你的脚本内动态地建立和执行脚本(eval()函数、execscript()方法等)。简而言之,在你的脚本中能够 编写脚本。当你用dhtml进行工作时,这个特性是非常有用的,因为这样你就能够动态的操作dhtml的文档模型了。 VBScript无此功能。例如,在客户端的javascript里你可以使用类似这样的句法:

execscript("on error resume next:object.execwb 4, 1"," VBScript");

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

//自定义对象myobject
function myobject(){
    //自定义属性
    this.properties1=value;  //此时赋值为该属性的默认值
    this.properties2;
    ...
    //自定义方法
    this.mymethod1=method1;
    this.mymethod2=method2;
}

function method1(arg){
    //block;
}

function method2(arg){
    //block;
}

尤其有用的是该对象可通过som传回客户端,使得asp编程方式更象以往的c/s结构。(我近期内可能会写一篇深入讨论som的文章,对该方法作详细讨论)

5、事件控制
VBScript在internet explorer中控制事件很方便,就像在visual basic中一样。在 VBScript中也能够建立一个隐含的事件处理 程序,这只需要用对象事件结构形式来定义一项功能就行了,比如说隐式调用button1_onclick。不过在internet explorer中, JScript没有这项功能(但在其他的 JScript主机上支持这项功能)。
在internet explorer 中使用 JScript控制事件,会要求你链接到一个对象上,而这个对象又是与事件处理 程序相连的。通常,只要在鉴别事件并且有处理 程序功能的对象的标签栏中指明其属性即可。如下所示:

<script id=clienteventhandlersjs language=javascript>
<!--

function button1_onclick() {
    alert("button1 clicked")
}

//-->
</script>
<input type="button" value="button" id=button1 name=button1 language=javascript οnclick="return button1_onclick()">

或者使用类似下面的语法:
<script id=clienteventhandlersjs language=javascript>
<!--
function window_onload() {
    //block;    
}
//-->
</script>
<script language=javascript for=window event=onload>
<!--
window_onload()
//-->
</script>

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

(未完待续)
我心飞扬

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值