电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> ASP
使用VBScript和JScript编写WEB应用程序(二)
作者:网友供稿 点击:46
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
使用vbscript和jscript编写web应用程序(二)

我心飞扬


6、数据类型
vbscript和jscript的数据类型差别比较大,jscript有6种数据类型:数值型、字符串型、对象型、
布尔型、null和undefined。vbscript虽然只有一种数据类型variant,但其子类型比较丰富。特别
是其对数值类型的精细划分使得在进行精确的数值运算时显得比较放心。且配合第2条中所讲到的
格式化功能使数据处理更加得心应手。有关这方面的文档请参阅微软的msdn。

7、运算符
在运算符方面vbscript和jscript也有一些差别:
例如,vbscript增加了用于字符串连接的算术运算符“&”,用于对象比较的“is”运算符等。
然而jscript提供了比vbscript多得多的运算符,例如递加递减运算符“++、--”、一组位运算符
及typeof、delete等杂项运算符等。有关此方面的信息msdn中非常详细,在此不必复述。

8、字符串处理
vbscript和javascript的字符串处理曾经也是网友们争论的焦点,它们对字符串的处理有着本质
的不同,我之所以将这部分单独提出来,也是想引发网友们作一些较为详细的讨论。
在vbscript中字符串只是一种简单的数据类型而已,并为之提供了非常丰富的字符串处理函数,
例如:
asc,chr,instr,instrrev,join,lcase,ucase,left,right,len,ltrim,rtrim,trim,mid,replace,
space,string,split,strcomp,strreverse
因此有很大一部分网友认为vbscript的字符串处理功能比jscript简捷、功能强大。

不过我不这么认为。简捷是有可能的,但谈到强大,我觉得jscript功能更为强大。在jscript中,
字符串不仅是一种数据类型,更是一类特殊的对象。作为对象的方法,他不仅提供了上述
vbscript中字符串函数的几乎所有功能,而且配合正则表达式能够提供更为强劲的功能。

一种典型的应用就是字符串的模糊搜索,看下面这个例子:
我想把一篇文章中的chen0,chen1,chenk,chen99等可能的拼写方法替换成joyasp:

var txt = mytextfile.readall();
var re = /chenk?\d?\d?/gi;
txt = txt.replace(re,"joyasp");

这种用法在不能精确地预知被处理的字符串时显得尤其有用。熟悉unix,c,c++,perl的网友可能
对正则表达式不会陌生,关于这方面的内容请查阅相关文章。


二、在同一个网页中同时使用两种语言

在同一个网页中可以使用不同的脚本编写语言。这样做有以下几个可能的原因:
a、在一个程序中充分利用各种语言的优点。
b、可能所面对的现有编码是用你不熟悉的语言来编写的。例如,dtc是用jscript编写的,而
你熟悉的语言却是vbscript。
大部分情况下,你可以在同一个网页中混合几种脚本语言并且它们相互之间能够配合得很好。
用一种语言编写的脚本可以调用用另外一种语言编写的程序并且能够共享全局变量。不过有时
候还是会出现一点小问题,现在就此说明一下。

1、当你从vbscript中调用一个jscript函数时,注意在调用过程中要有括号,即使这项函数不
要求设置参数也需如此。例如,一个调用应该像这样:

returnvalue = call_jscript_function()

如果你忘记了加括号,那么这个函数所返回的值就不是你所希望的值,而是一个包含了函数本
身的vbscript无法解释的对象。

2、服务器脚本的执行顺序
被<% %>定界符括入的命令被称为主脚本命令,主脚本命令按顺序运行,从头到尾。当然,你可
以在一个服务器脚本中定义一个可调用的程序(函数或者是子程序)。这样的话,如果需要就
可以随时调用它们。
所有的主脚本命令必须用同一种语言来编写,也就是在网页前面的<%@ language=xxxxx%>指示
中所指明的脚本语言。因此,在一个主脚本命令中你不能把几种脚本语言混合起来。 你也许会
说“等一等”。在理论上,把服务器脚本放到<script>单元中是绝对可能的。就像下例一样:

<%response.write("i love joyasp!")%>
<script language=vbscript runat=server>
response.write("i love 我心飞扬, too.")
</script>

但是,这样你就会被iis asp处理程序的执行顺序控制。例如,如果你建立了服务器脚本并且在
iis 4.0中运行它,你会发现执行顺序可能是这样的:

1)非缺省语言的<script>单元脚本
2)主脚本命令
3)缺省语言的<script>单元脚本

以上的顺序在很大程度上依赖于activex脚本语言引擎的载入顺序,同时iis中的asp处理程序可
能在将来会有所改变。因此,我不不大赞成按这种方式书写代码,建议你是只把<script>单元
用于函数或者子程序,或是把它仅仅用于其他与执行顺序无关的编码。

3、客户端脚本块的顺序
当你在客户端把几种语言混合使用时,<script>块在网页中出现的顺序非常重要,有时候会影
响到它们是否能正常工作。看看下面这个简单的例子,它是在一个vbscript脚本中调用一个用
jscript编写的函数:

<script language="vbscript">
调用一个jscript function
her = "lucy"
loveher = jsfuncloveher(her)
document.write("绝密情报:" & loveher)
</script>

<script language="javascript">
function jsfuncloveher(arg){
return "white、飞鸟和moslem都想泡" + her + "mm :-)";
}
</script>


它不会起任何作用。说得更明白一点,document.write()会往网页中写入一个空的字符串。为
什么?很简单,在处理vbscript块时,下面的java script <script>块还没有被读出来,没有
进行语法分析,因此网页不能使用它。当浏览器处理网页中的脚本块时,它是从上往下进行的。

在这个例子中,只需要调换一下脚本块的顺序就能够解决这个问题了。不过,事实上这类问题
并不那么常见,在大多数情况下,<script>中包含的函数和子程序只有当整个网页被全部下载
下来并且所有的单元都可以使用之后才能够被调用。不过,你还是要记住,网页是按照一定的
顺序来处理的,不同语言的<script>块是分别处理的。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·如何使XP的目录属性出现"安全"选项-ASP教程,系统相关
·创建有个性的对话框之MFC篇(二)-ASP教程,系统相关
·用InstallShield打包ASP程序-ASP教程,ASP应用
·windows server 2003 中 SQL Server 2000 分布式事务 错误解决方法-ASP教程,系统相关
·创建有个性的对话框之MFC篇(一)-ASP教程,系统相关
·DevExpress打印相关代码-ASP教程,打印相关
·File文件控件,选中文件(图片,flash,视频)即立即预览显示-ASP教程,组件开发
·用Windows的文件映射机制,实现大批量数据的快速存储-ASP教程,系统相关
·ADO如何取得数据库中表的字段信息之一
·使用DEVEXPRESS部件打印时标题的处理-ASP教程,打印相关

最新文章
· SQL注入天书 - ASP注入漏洞全接触
·用.net 处理xmlHttp发送异步请求
·asp.net创建文件夹的IO类的问题
·如何实现ASP.NET网站个性化
·关于ASP.NET调用JavaScript的实现
·ASP利用Google实现在线翻译功能
·Asp无组件生成缩略图
·由HTTP 500 Internal server error想到的...
·实例讲解asp抓取网上房产信息
·改mdb为asp所带来的灾难




版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号