ASP中的脚本语言——VBScript、JScript,我该选谁?

Per 2000-06-09 03:40:00
...全文
221 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zigzag 2000-07-06
  • 打赏
  • 举报
回复
都可以拉。两者大部分功能是相近的,但各自又有些自己的特点。我认为两者最大的不同在于JScript能够自定义对象,有利于实现面向对象的编程。而VBScript在服务器端的能力比JScript强大。
mxp 2000-06-09
  • 打赏
  • 举报
回复
一起用!vbscript干后台简单,但前台不行,比如下拉框等选定一项不提交页就变化页面。它们可以交互的。
qiuhao 2000-06-09
  • 打赏
  • 举报
回复
客户端选jscript
服务器端选vbscript,最好

ASP页面内VBScriptJScript的交互

ASP 具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置
函数。ASP开发环境提供了两种脚本引擎,即VBScript(缺省)和JScript。不过,开发者并没有被限制
于只能使用这两种语言,只要能够提供合适的ActiveX脚本引擎就能使用任何脚本语言
  脚本语言择往往基于许多不同原因:它可能是开发者最为熟悉的语言,可能是对给定工程来说
能够提供最多特色支持的,也有可能是最具效率的。不同的环境和要求使得我们在脚本语言时注重
不同的因素,同时也使得我们在某些时候面临定的脚本语言不能直接提供其它语言固有的函数这一问
题,或某个脚本已经写成但用的却是另外一种脚本语言
  此时应该怎么办?是否需要用当前所用的脚本语言重写这些脚本?或者说,是否有可能在一种脚本
语言调用其它脚本语言的内置函数?本文要说明的就是在ASP应用如何让VBScript脚本和JScript
本交互以最大限度地获得两种脚本语言的特色支持。

  一、VBScriptJScript的内置函数
  在VBScriptJScript ,有大量的内置函数功能是相同或类似的。然而,在一种脚本语言内置
的函数并非总是在另外一种脚本语言也有对应的函数。例如,VBScript提供了许多用于操作字符串和
格式化数据的函数,这些函数在JScript并不存在。这些函数包括StrReverse()、Filter()以及Forma
tCurrency()等。在另一方面,JScript所提供的用于管理数组、字符串编码等的函数在VBScript也没
有定义,如join()、reverse()、pow()、位操作、escape()和unescape()等。
   那么,如果在JScript程序需要一个VBscript函数该怎么办呢?

   二、异种脚本的互相调用
   如果需要在JScript脚本调用一个VBScript内置的函数,则应该写一个VBScript用户定义函数
(在这里调用VBScript内置函数),然后在JScript脚本象调用公用JScript函数一样调用这个用户定
义函数。

例如,如果要调用的VBSCript内置函数是FormatCurrency(),则可以声明如下自定义函数:

接下来在JScript代码就可以象普通JScript 函数一样调用FormatValue()了。用类似的方法也可
以实现VBScript代码调用JScript函数。
  应用同样的规则,我们可以在任何脚本内调用任何用户定义函数。不过,从JScript 脚本内调用一
个不带参数的VBScript过程(Sub)时应略加注意,此时在JScript应该象调用一个不带参数的JScrip
t函数一样调用它,如用foo()调用VBScript Sub foo过程。

  三、数据共享
  在某些情形下混合运用VBScriptJScript 函数是非常有用的,但在不同语言脚本之间共享数据也
可能很有用。实现这种共享的方法很简单:不管使用的是什么语言,只要是在页面级声明的变量就可以
任意引用。
  对象的使用方法也相似,可以任意用合适的语言读取、修改属性或调用对象的方法。当然给定对
象的属性和方法是由创建该对象实例的语言所定义的。正如上例VBScript的过程调用,当从JScript
调用一个不带参数的VBScript对象的方法时,其调用方法也遵从JScript的调用规则,反之亦然。

  四、数组管理
  数组共享问题稍微复杂一点。虽然数组也象其它变量一样可以在不同语言脚本之间共享,但必须注
意兼容方面的问题。
  VBScript数组在JScript下可以用VBScript的符号引用,即用myArray(2)引用数组元素而不是JScri
pt的数组元素引用符号myArray[2]。此外,还可以使用一个特殊的JScript对象——VBArray对象将VBSc
ript数组转换为JScript数组。下面的代码从VBScript数组myVBArray创建JScript数组myJSArray:
 var Temp = new VBArray(myVBArray)
 var myJSArray
 myJSArray = Temp.toArray()
上述代码首先创建一个临时的VBArray对象,然后使用它的toArray()方法将自己转换为JScript
组。此后就可以象普通JScript数组一样用myJSArray,如 myJSArray[1]。但应当注意的是,toArray()
方法将把一个多维的VBArray转换为一维的JScript数组。

VBScript引用JScript数组更为复杂。虽然在VBScript我们可以直接访问JScript数组相关的
方法和属性,但没有直接访问JScript数组的单个元素的方法。也就是说,我们可以在VBScript 脚本
读取JScript数组的长度属性,如下所示:

x = myJSArray.length

  但无法直接读取该数组的单个元素,下面的VBScript代码是不正确的:

  x = myJSArray(3)

解决该问题的一个可行的方法是执行一个转换过程,如下面的代码所示,此处假定VBScript是缺省
脚本语言
<%
  Dim Temp
  Dim myVBArray
  Temp = myJSArray.join(", ")
  myVBArray = Split(Temp, ", ")
%>
此处的JScript join()方法将数组myJSArray元素转换到一个以逗号为分割符的字符串, VBScript
Split()函数将字符串转换为VBScript数组。注意这里我们是在VBScript环境下调用JScript的join方法
依照此例,我们可以通过自定义VBScript函数来模拟JScript的VBArray对象的toArray()方法以实现JSc
ript数组到VBScript数组的转换。

五、小结
  在同一个ASP 工程内灵活用不同脚本语言具有许多优点,这些脚本之间的交互能力更为开发者集
成不同语言所提供的内置函数和其它功能带来了更多的机会,同时也使得实现既可用于VBScript也可用
JScript环境的通用脚本库成为可能。
第1章 Internet与HTML概述 1.1 Internet的基本情况 1.1.1 Internet的起源与商业化发展 1.1.2 Internet的服务内容 1.1.3 TCP/IP协议 1.1.4 Internet的主机管理与域名系统 1.1.5 Internet的工作原理 1.2 有关概念及HTML简介 1.2.1 超文本传输协议——HTTP 1.2.2 统一资源定位器——URL 1.2.3 网页、网站及其相关概念 1.2.4 对象的事件、属性和方法 1.2.5 HTML简介 1.2.6 客户端和服务器端的脚本语言 1.2.7 ActiveX组件简介 1.2.8 脚本引擎 第2章 VBScript基础 2.1 使用VBScript 2.1.1 VBScript及其主要功能 2.1.2 在HTML页面使用VBScript 2.2 VBScript数据类型 2.3 VBScript变量 2.3.1 声明变量 2.3.2 变量的命名规则 2.3.3 给变量赋值 2.3.4 标量变量和数组变量 2.4 VBScript常量 2.4.1 声明自定义常量 2.4.2 使用固有常量 2.5 VBScript的表达式与运算符 2.5.1 算术运算符 2.5.2 关系运算符 2.5.3 逻辑运算符 2.5.4 连接运算符 2.5.5 运算符优先级 第3章 VBScript语句和过程 3.1 VBScript语句的基本语句 3.1.1 择语句 3.1.2 循环语句 3.2 VBScript语句的过程 3.2.1 Sub过程 3.2.2 Function过程 3.2.3 参数说明 3.2.4 相关语句的语法 3.3 综合例子 第4章 VBScript的函数 4.1 VBScript函数综述 4.1.1 数据类型判断 4.1.2 格式化函数 4.1.3 数据类型转换函数 4.1.4 数学运算函数 4.1.4 日期时间处理函数 4.1.5 字符串处理函数 4.2 程序范例:Hello 4.2.1 范例介绍 4.2.2 函数介绍——MsgBox函数 4.2.3 程序清单 4.3 程序范例:色彩 4.3.1 范例介绍 4.3.2 代码讲解 4.3.3 函数介绍 4.3.4 程序清单 4.4 程序范例:计数器 4.4.1 范例介绍 4.4.2 代码讲解 4.4.3 函数介绍 4.4.4 程序清单 4.5 程序范例:定单设计 4.5.1 范例介绍 4.5.2 代码讲解 4.5.3 函数介绍 4.5.4 程序清单 4.6 程序范例:使用Cookie 4.6.1 范例介绍 4.6.2 代码讲解 4.6.3 函数介绍 4.6.4 程序清单 第5章 VBScript的对象和集合 5.1 VBScript的对象和集合 5.1.1 关于组件 5.1.2 VBScript的对象 5.1.3 Err对象 5.1.4 VBScript的集合 5.2 程序范例:使用对象 5.2.1 范例介绍 5.2.2 代码讲解 5.2.3 函数介绍——CreateObject函数 5.2.4 对象介绍——Dictionary对象 5.2.5 程序清单 5.3 程序范例:驱动器信息 5.3.1 范例介绍 5.3.2 代码讲解 5.3.3 对象介绍 5.3.4 程序清单 5.4 程序范例:文件信息 5.4.1 范例介绍 5.4.2 代码讲解 5.4.3 对象介绍 5.4.4 程序清单 5.5 程序范例:文件管理 5.5.1 范例介绍 5.5.2 代码讲解 5.5.3 对象介绍——TextStream对象 5.5.4 程序清单 第6章 VBScriptASP 6.1 ASP及其工作方式 6.2 运行ASP的环境要求 6.3 IIS的安装与基本配置 6.3.1 IIS响应客户请求的方法 6.3.2 IIS的支持服务 6.3.3 IIS的服务帐号 6.3.4 IIS的安装 6.3.5 IIS的基本配置 6.4 WWW服务器的建设管理 6.4.1 创建新的Web站点 6.4.2 配置Web站点 6.4.3 配置主目录 6.4.4 配置虚拟目录 6.4.5 设置主页文件 6.4.6 目录安全设置 6.4.7 Web站点负载的多台IIS服务器分布 6.4.8 单站点服务器配置多个Web站点 6.5 PWS的安装与Web服务器配置 6.5.1 PWS的安装 6.5.2 PWS的设置 6.6 ASPVBScript等脚本程序的引用 6.6.1 客户端脚本的引用 6.6.2 服务器端脚本的引用 6.6.3 服务器端脚本语言声明 6.6.4 <% =表达式 %>与Response.Write两种输出方式简介 6.6.5 使用#include命令包含文件 6.6.6 ASP内建对象和ActiveX组件的引用 6.7 Global.asa文件 6.8 ASP的Web运行机制 第7章 认识JScript 7.1 JScript语言 7.2 开始使用JScript 7.3 JScript的嵌入位置 7.4 用JScritp编写客户端脚本和服务器端脚本 7.4.1 如何确定脚本在客户端运行还是在服务器端运行 7.4.2 客户端脚本与服务器端脚本在JScript的处理 第8章 JScript语言基础 8.1 JScript的变量 8.1.1 变量的声明 8.1.2 强制类型转换 8.1.3 变量的作用域 8.1.4 变量的命名 8.2 JScript的数据类型 8.2.1 数值类型 8.2.2 字符串类型 8.2.3 对象类型 8.2.4 布尔类型 8.2.5 空类型 8.2.6 未定义类型 8.3 JScript的操作符 8.3.1 算术操作符 8.3.2 逻辑操作符 8.3.3 位操作符 8.3.4 赋值操作符 8.3.5 混合操作符 第9章 JScript的程控流程 9.1 条件语句 9.1.1 If语句和if…else语句 9.1.2 switch语句 9.2 循环语句 9.2.1 for语句 9.2.2 while语句 9.2.3 do…while语句 9.2.4 for…in语句 9.3 break语句和continue语句 第10章 JScript的函数 10.1 JScript内建函数 10.1.1 escape( )函数和unescape( )函数 10.1.2 eval( )函数 10.2 JScript的用户自定义函数 第11章 JScript的对象 11.1 JScript的内建对象 11.1.1 原型与构造器 11.1.2 数组对象(Array Object) 11.1.3 布尔对象(Boolean Object) 11.1.4 日期对象(Data Object) 11.1.5 数学对象(Math Object) 11.1.6 字符串对象(String Object) 11.1.7 函数对象(Function Object) 11.1.8 Object对象(Object Object) 11.1.9 数值对象(Number Object) 11.1.10 全局对象(Globe Object) 11.2 浏览器对象 11.2.1 window对象 11.2.2 document对象 11.2.3 navigator对象 11.2.4 location对象 11.2.5 history对象 11.3 用户自定义对象 11.3.1 定义对象及其属性 11.3.2 定义对象的方法 第12章 窗体的使用 12.1 窗体及其控件 12.2 文本框控件 12.2.1 文本框的属性 12.2.2 文本框的方法 12.2.3 文本框的事件 12.3 按钮控件 12.3.1 一般按钮 12.3.2 提交按钮(Submit Button) 12.3.3 重置按钮(Reset Button) 12.4 隐藏控件 12.5 文本区控件 12.6 单框控件和复框控件 12.6.1 单框控件 12.6.2 复框控件 12.7 择列表控件 12.8 其他控件 12.8.1 图像控件 12.8.2 文件控件 12.9 小结 第13章 鼠标和键盘事件处理 13.1 event对象 13.2 鼠标事件的处理 13.2.1 鼠标事件 13.2.2 鼠标事件的处理 13.3 键盘事件的处理 13.4 小结 第14章 客户端脚本和服务器端脚本 14.1 JScriptASP 14.1.1 将JScript脚本加入ASP文件 14.1.2 ASP的对象 14.1.3 ASP的组件 14.2 ASP的数据库处理功能 14.2.1 和数据库连接 14.2.2 执行SQL语句 14.2.3 获取SQL语句的执行结果 小 结

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧